生成在c语言从n个人中选k个人表演,有多少钟选法的代码
时间: 2024-12-21 17:30:43 浏览: 77
在C语言中,计算从n个人中选择k个人表演的组合数,可以使用组合公式C(n, k) = n! / (k!(n-k)!),其中`!`表示阶乘。下面是一个简单的C程序,使用了动态规划的思想来计算组合数:
```c
#include <stdio.h>
unsigned long long choose(int n, int k) {
unsigned long long fact[100], result = 1;
// 计算阶乘数组
for (int i = 1; i <= n; ++i)
fact[i] = i * fact[i - 1];
// 应用组合公式
if (k > n || k < 0 || n < 0)
return 0;
result = fact[n] / (fact[k] * fact[n - k]);
return result;
}
int main() {
int n, k;
printf("请输入总人数n:");
scanf("%d", &n);
printf("请输入表演人数k:");
scanf("%d", &k);
unsigned long long comb = choose(n, k);
printf("从%d人中选出%d人的组合数是:%llu\n", n, k, comb);
return 0;
}
```
在这个程序中,用户会被提示输入总人数n和表演人数k,然后函数`choose`会返回组合数,并打印结果。
阅读全文