C语言 求组合数

任务描述

本关任务:编写一个用函数实现组合数的计算程序。

编程要求

组合数公式为: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

posted @ 2021-12-13 10:28  程序员小贤  阅读(2187)  评论(0)    收藏  举报