目录
- 1 题目
- 2 分析
- 3 实现
- 4 运行结果
1 题目 利用递归方法求 5 ! 5! 5!。
2 分析 我们知道0和1的阶乘都是1,用递归计算阶乘时,要递减的方式递归,到0或1的时候返回递归。该递归程序从递归三大要素的角度来看:
- 整个递归程序的目的:计算阶乘
- 递归的出口条件:当遇到0或1的时候返回递归
- 递归的递推公式: f ( n ) = n ? f ( n ? 1 ) f(n) = n * f(n-1) f(n)=n?f(n?1)
#include int factorial(int n) {
if(n == 0 || n == 1) return 1;
return n*(factorial(n-1));
}int main() {
printf("%d\n", factorial(5));
}
4 运行结果
120