组合数计算
组合数计算内容:计算从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); }