#include
#include
int fact (int n);
int main ()
{
int m,k;
scanf("%d %d",&k,&m);
printf("%d",fact(m)/(fact(k)*fact(m-k)));
}
int fact(int n)
{
int i;
int p;
i=(int)n;
p=1;
for(;i>=1;i--)
{
p=i*p;
}return p;
}
fact是计算阶乘 p=i*(i-1)*(i-2)...*1,而i=n
其实反过来就是n!=1*2*3*...*n,故弄玄虚。
这里套用了组合数的公式
问题解决请点个采纳
int i 和int p创造一个整数变量i和p 下面for循环中用到的
return p 就是函数fact运行结束之后返回了一个p 也就是你运行这个函数之后会得到的东西