高质量题解|A7974.阶乘
2026-01-28 10:53:15
发布于:北京
0阅读
0回复
0点赞
解题思路
用递归来完成阶乘这道题目,先要推算出递归函数在调用自己时的公式
就以题目的6为例,我们可以拆分成:6 * 5 * 4 * 3 * 2 * 1
但是为了实现递归中调用自己,也可以写成:6 * (5!)
所以就是n * f(n - 1)
边界条件就是题目中的规定:0!= 1
if(n == 0){
return 1;
}
return n * f(n - 1);
这就是函数内的内容
代码
#include <bits/stdc++.h>
using namespace std;
int f(int n){
if(n == 0){
return 1;
}
return n * f(n - 1);
}
int main(){
int n;
cin >> n;
cout << f(n);
return 0;
}
这里空空如也







有帮助,赞一个