假设你正在爬楼梯。需要 n
阶你才能到达楼顶。
每次你可以爬 1
或 2
个台阶。你有多少种不同的方法可以爬到楼顶呢
如果n=0,(0)
如果有n=1,就只有一种走法(1)
如果有n=2,就会有两种走法(1,1)(2)
如果有n=3,就会有(1,1,1)(1,2)(2,1)三种走法
如果有n=4,就会有(1,1,1,1)(2,1,1)(1,2,1)(1,1,2)(2,2)五种
。。。
。。。
到这里就发现了规律,
0 1 2 3 4
0 1 2 3 5
0+1=1,1+2=3,3+2=5、、、、 转换为斐波那契数列
int a = 1, b = 1, sum;
for(int i = 0; i < n - 1; i++){
sum = a + b;
a = b;
b = sum;
}
return b;