• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

陈体胖

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

算法笔记练习 5.8 组合数 问题 A: 计算组合数

算法笔记练习 题解合集

题目链接

题目

题目描述
编制程序,输入m,n(M>=n>=0)后,计算下列表达式的值并输出:
m!n!(m−n)! \frac{m!}{n!\left(m-n\right)!} n!(m−n)!m!​
要求将计算阶乘运算的函数写为fact(n),函数返回值的类型为float

输入
m n

输出
对应表达式的值

样例输入

2 1

样例输出

2

代码

#include <cstdio>

float fact(float n) {
	if (n == 0)
		return 1;
	else
		return n * fact(n-1); 
} 

int main() {
	float m, n;
	while (scanf("%f %f", &m, &n) != EOF)
		printf("%.0f\n", fact(m)/(fact(n) * fact(m-n))); 
	return 0;
} 

posted on 2020-04-02 16:47  陈体胖  阅读(232)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3