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)
3 实现
#include <stdio.h>
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