1100: 求组合数(函数专题)
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 4927 Solved: 3817
Submit Status Web Board
Description
马上要举办新生程序设计竞赛了,与以往不同的是,本次比赛以班为单位,为了全面衡量一个班级的整体水平,要求从一个班的m位同学中任选k位同学代表本班参加比赛,问有多少种组合方案。显然,这个组合数是m!/(k!(m-k)!)。要求编写函数fact(),实现求一个数的阶乘功能,在主函数中调用此函数。
long fact(long n)
{
//函数返回值为n的阶乘。
}
Input
输入两个正整数m,k,k<=m<=12。
Output
输出一个整数,即组合方案数。
Sample Input
5 3
Sample Output
10
HINT
Source
#include<stdio.h>
long long jiecheng(int i);
int main()
{
int m,k;
long long s;
scanf("%d%d",&m,&k);
s=jiecheng(m)/(jiecheng(k)*jiecheng(m-k));
printf("%lld\n",s);
return 0;
}
long long jiecheng(int i)
{
int a;
long long s ;
s=1;
for(a=1;a<=i;a++)
s*=a;
return s;
}