程序填空题:求组合数
已知m、n是正整数,编写程序求m中取n的组合数(计算公式为:分子为m的阶乘,分母为n的阶乘与m-n的阶乘的乘积),请填空完成相应功能。
```
long fac(int k)
{long p;
int i;
p=@@[1](2);
for(i=2;@@[i<=k](2);i++)
p=@@[p*i](2);
return @@[p](2); //返回结果
}
#include
int main(void)
{int m,n;
long c,c1,c2,c3;
scanf("%d%d",&m,&n); //输入一个整数
c1=fac(m); //调用函数计算组合数
c2=fac(n);
c3=@@[fac(m-n)](2);
c=c1/(c2*c3);
printf("%ld\n",c);
return 0;
}
```
答案:
第1空:1
第2空:i<=k
第3空:p*i
第4空:p
第5空:fac(m-n)
```
long fac(int k)
{long p;
int i;
p=@@[1](2);
for(i=2;@@[i<=k](2);i++)
p=@@[p*i](2);
return @@[p](2); //返回结果
}
#include
int main(void)
{int m,n;
long c,c1,c2,c3;
scanf("%d%d",&m,&n); //输入一个整数
c1=fac(m); //调用函数计算组合数
c2=fac(n);
c3=@@[fac(m-n)](2);
c=c1/(c2*c3);
printf("%ld\n",c);
return 0;
}
```
答案:
第1空:1
第2空:i<=k
第3空:p*i
第4空:p
第5空:fac(m-n)