Recursive summary

<1>递归概念
函数调用自身,称为递归
<2>递归的条件
- 递归特性一:必须有一个明确的结束条件
- 递归特性二:每次递归都是为了让问题规模变小
- 递归特性三:递归层次过多会导致栈溢出
<3>使用递归求1+11+111+1111+11111的值
1 | public class Recursive01 { |

<4>递归求n!
1 | public class Recursive02 { |

<5>一个人赶着鸭子去每个村庄卖,每经过一个村子卖去所赶鸭子的一半又一只。这样他经过了n个村子后还剩两只鸭子,问他出发时共赶多少只鸭子?经过每个村子卖出多少只鸭子?
思考:

做法:
1 | public class Recursive03 { |
运行结果:

我们来看一下执行步骤:
