C 合并数字
最编程
2024-04-08 18:20:32
...
任务描述
本关任务:编写一个用函数实现组合数的计算程序。
编程要求
组合数公式为:C(m,k)=m!/(k!(m-k)!),请实现求阶乘函数Factorial()和求组合数的函数Combination(),然后从main函数输入m,k,输出组合数。
1 #include <stdio.h> 2 #include <stdlib.h> 3 int fac(int x); 4 int main() 5 { 6 unsigned int m,k,p; 7 8 printf("Input m,k(10>=m>=k>0):\n"); 9 scanf("%u,%u",&m,&k); 10 p=fac(m)/(fac(m-k)*fac(k)); 11 printf("p = %d",p); 12 return 0; 13 } 14 int fac(int x) //定义阶乘函数 15 { 16 int i; 17 long int s = 1; 18 for(i=1;i<=x;i++) 19 s *= i; 20 return s; 21 }
运行结果:Input m,k(10>=m>=k>0):
p = 28