c语言:编写计算机组合数程序,组合数就是组合从m个不同元素中取出k(k≤m)个元素的所有组合的个数
时间: 2024-12-23 16:19:17 浏览: 33
在C语言中,计算组合数通常使用阶乘公式,即C(m, k) = m! / (k!(m-k)!),其中"!"表示阶乘。下面是一个简单的C程序,用于计算组合数:
#include <stdio.h>
// 计算阶乘
unsigned long long factorial(int n) {
if (n == 0 || n == 1) {
return 1;
}
unsigned long long fact = 1;
for (int i = 2; i <= n; ++i) {
fact *= i;
}
return fact;
}
// 计算组合数
unsigned long long combination(int m, int k) {
if (k > m || k < 0 || m < 0) {
return 0; // 参数无效,返回0
}
return factorial(m) / (factorial(k) * factorial(m - k));
}
int main() {
int m, k;
printf("请输入选择的元素总数m:");
scanf("%d", &m);
printf("请输入要取的元素数量k:");
scanf("%d", &k);
unsigned long long result = combination(m, k);
printf("从%d个不同元素中取%d个元素的组合数是:%llu\n", m, k, result);
return 0;
}
这个程序首先定义了两个函数:factorial
用于计算阶乘,combination
用于计算组合数。在main
函数中,用户输入m和k值,然后调用combination
函数并打印结果。
阅读全文
相关推荐


















