输入两个正整数m.n计算并输出组合数C语言
时间: 2024-10-11 12:11:08 浏览: 51
在C语言中,计算组合数通常使用公式C(n, m) = n! / (m!(n-m)!),其中"!"表示阶乘。但是,由于C语言标准库并没有直接提供阶乘函数,你可以选择手动编写阶乘函数,然后用这个公式来计算组合数。以下是一个简单的示例:
```c
#include <stdio.h>
// 手动实现阶乘函数
unsigned long long factorial(int n) {
if (n == 0 || n == 1)
return 1;
else
return n * factorial(n - 1);
}
// 计算组合数
unsigned long long combination(int n, int m) {
return factorial(n) / (factorial(m) * factorial(n - m));
}
int main() {
int m, n;
printf("请输入两个正整数m和n: ");
scanf("%d %d", &m, &n);
// 检查输入是否有效
if (m > n || m <= 0 || n <= 0) {
printf("无效的输入,m和n必须都是正整数且m <= n.\n");
return 1;
}
unsigned long long result = combination(n, m);
printf("C(%d, %d) = %llu\n", n, m, result);
return 0;
}
```
当你运行这个程序时,它会提示你输入两个正整数m和n,然后计算它们的组合数并打印结果。
阅读全文