马上要举办新生程序设计竞赛了,与以往不同的是,本次比赛以班为单位,为了全面衡量一个班级的整体水平,要求从一个班的m位同学中任选k位同学代表本班参加比赛,问有多少种组合方案。显然,这个组合数是m!/(k!(m-k)!)。要求编写函数fact(),实现求一个数的阶乘功能,在主函数中调用此函数。 long fact(long n) { //函数返回值为n的阶乘。 } 输入 输入两个正整数m,k,k<=m<=12。
时间: 2023-02-13 12:30:24 浏览: 104
湖南师范大学2018年大学生程序设计竞赛新生赛.zip
如果要编写一个函数来计算一个数的阶乘,可以使用如下的代码:
```
long fact(long n) {
// 如果 n 是 0,则直接返回 1
if (n == 0) {
return 1;
}
// 否则递归调用 fact 函数,计算 n * (n-1) * (n-2) * ... * 1
return n * fact(n-1);
}
```
在主函数中调用该函数,可以像这样写:
```
int main() {
// 例如计算 5 的阶乘
long result = fact(5);
// 输出结果
cout << result << endl;
return 0;
}
```
阅读全文