这是一个使用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