标签:
n级台阶,一次可登1级或2级,问共有多少种不同的走法?
解:
如果用n表示台阶的级数,a n表示某人走到第n级台阶时,所有可能不同的走法,容易得到:
(1)根据题意得:
当n=1时,显然只要1种跨法,即a1=1.
当n=2时,可以一步一级跨,也可以一步跨二级上楼,
因此,共有2种不同的跨法,即a2=2.
(2)由(1)可得:
如果第一步跨一级台阶,那么还剩下二级台阶,有a2=2(种)跨法.
如果第一步跨二级台阶,那么还剩下一级台阶,有a1=1(种)跨法.
因此,a3=a1+a2=3
(3)当n=4时,分三种情况分别讨论:
如果第一步跨一级台阶,那么还剩下三级台阶,有a3=3(种)跨法.
如果第一步跨二级台阶,那么还剩下二级台阶,有a2=2(种)跨法.
因此 a4=a3+a2=5
(4)当n=5时,分4种情况分别讨论:
如果第一步跨一级台阶,那么还剩下四级台阶,有a4=5(种)跨法.
如果第一步跨二级台阶,那么还剩下三级台阶,有a3=3(种)跨法.
因此a5=a3+a4=8
int func(int n) { if (1 == n) return 1; else if (2 == n) return 2;
return func(n - 1) + func(n - 2); }
标签:
原文地址:http://www.cnblogs.com/amei0/p/4682174.html