这是一个使用C语言函数的示例:计算组合数 C(m,n) 的值(m≤10)。
组合数 C(m,n) 可以理解为从 m 个数中任意取出 n 个数的所有情况数。在数学中,求组合数 C(m,n) 的值可以借助 m 和 n 的阶乘来计算,计算公式为:
从上面的计算公式可以看出,求组合数 C(m,n) 的值,需要进行三次阶乘运算。为了简化程序,可以把阶乘运算设计为函数 fac(x),求组合数时调用该函数即可。
代码清单 1:计算组合数 C(m,n) 的值(m≤10)
#include <stdio.h>
#include <stdlib.h>
long int fac(int x) //定义阶乘函数
{
int i;
long int s = 1;
for(i=1;i<=x;i++)
s *= i;
return s;
}
int main( ) //主函数
{
int m, n;
printf("输入m和n(m≤10,n≤m):\n");
scanf("%d %d",&m, &n);
printf("C(m,n)=%ld\n",fac(m)/(fac(m-n)*fac(n)));
system("pause");
return 0;
}
运行结果为:
输入m和n(m≤10,n≤m):
11 5
C(m,n)=462