组合数计算
组合数计算内容:计算从n个不同的元素中选取k个的组合数。
要求:设计一个计算从n个不同的元素选出k个的组合数的程序。
输入说明:输入文件应至少包含一组测试值,并且每一行为一组测试值,一组测试值是由整数n,整数k构成,当输入中的n,k,均为0是终止。
特别提示:结果必须是整数。但中间计算结果是不是一定是一个整数可视自己的算法而定,测试数据也随之改变。
样例输入:
4 2
10 5
49 6
0 0
样例输出:
6
252
13983816
程序代码:// 求组合数
#include <stdio.h>
#include <stdlib.h>
int Combination(int, int);
int main()
{
int n = 6, m = 2;
printf("C(%d, %d) = %d\n", n, m, Combination(n, m));
printf("输入n, m: \n");
scanf("%d%d", &n, &m);
printf("C(%d, %d) = %d\n", n, m, Combination(n, m));
system("pause");
return 0;
}
int Combination(int n, int i)
{
int numerator = 1, denominator = 1;
int j = 0;
for (j = 0; j < i; j++)
{
denominator *= (j + 1); // 分母
numerator *= (n - j); // 分子
}
return (numerator / denominator);
}
