C语言经典例26-利用递归方法求阶乘


目录

  • 1 题目
  • 2 分析
  • 3 实现
  • 4 运行结果
【C语言经典例26-利用递归方法求阶乘】
1 题目 利用递归方法求 5 ! 5! 5!。
2 分析 我们知道0和1的阶乘都是1,用递归计算阶乘时,要递减的方式递归,到0或1的时候返回递归。该递归程序从递归三大要素的角度来看:
  1. 整个递归程序的目的:计算阶乘
  2. 递归的出口条件:当遇到0或1的时候返回递归
  3. 递归的递推公式: f ( n ) = n ? f ( n ? 1 ) f(n) = n * f(n-1) f(n)=n?f(n?1)
3 实现
#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

    推荐阅读