C语言实现组合数计算 - 从n个元素中取m个的组合
要求从n个元素中取出m个元素的组合种数,可以使用组合数公式:
C(n, m) = n! / (m! * (n-m)!)
其中,n! 表示n的阶乘,即n * (n-1) * (n-2) * ... * 2 * 1。
下面是使用C语言实现的代码:
#include <stdio.h>
// 计算阶乘
int factorial(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
// 计算组合数
int combination(int n, int m) {
int numerator = factorial(n);
int denominator = factorial(m) * factorial(n - m);
return numerator / denominator;
}
int main() {
int n, m;
printf("请输入n和m的值(以空格分隔):");
scanf("%d %d", &n, &m);
int result = combination(n, m);
printf("从%d中取%d个的组合种数为:%d\n", n, m, result);
return 0;
}
运行代码后,输入n和m的值,程序将计算出从n中取m个的组合种数并输出。
原文地址: https://www.cveoy.top/t/topic/o712 著作权归作者所有。请勿转载和采集!