题意说明:
一只青蛙可以一次跳 1 级台阶或一次跳 2 级台阶。例如:跳上第一级台阶只有一种跳法:直接跳 1 级即可。跳上两级台阶,有两种跳法: 每次跳 1 级,跳两次;或者一次跳 2 级。问要跳上第 n 级台阶有多少种跳法?
解题思路:
若n=1时,有1种方法;
若n=2时,有(1,1),(2)两种方法;
若n=3时,青蛙可以选择第一步先跳1个台阶或者2个台阶或者3个台阶,有(1,1,1),(1,2),(2,1),三种方法;
若N=4时,青蛙选择第一步跳1层时,剩下3个台阶则时n=3时的方法;青蛙第一步选择跳2层时,剩下2个台阶则是n=2时的方法;所以当n=4时的所有方法为: n=3的所有方法 + n=2的所有方法。
由此可知,n层台阶的方法为:n-1 层的方法 + n-2 层的方法。
代码实现(c语言):