递归算法思想
递归算法(Recursion)就是在程序中不断反复调用自身来达到求解问题的目的。(这就要求待求解的问题能够分解为相同问题的一个子问题。)
注意:在递归函数中,必须使用 if 语句强制函数在未执行递归前返回。
分类
- 直接递归:在函数中调用函数本身。
- 间接递归:间接调用一个函数;如 fun_a调用fun_b,fun_b又调用fun_a。
示例
阶乘
阶乘,就是从 1 到指定数之间的所有自然数相乘的结果;
n! = n x (n - 1) x (n - 2) x ... x 2 x 1。推导:n! = n x (n - 1)!。
示例代码
| 1 | 
 | 













