有n阶台阶,上楼时可以一步上1阶,也可以一步上2阶,计算共有多少种不同的上楼梯的方法。
设n阶台阶共有f(n)种不同的上楼梯方法。
因为共有两种不同的步伐,故上n阶台阶的最后一步有两种情况:从n-1阶处跨一步(上1阶),从n-2阶处跨一步(上2阶)。由此f(n) = f(n-1) + f(n-2)。
代码实现如下:
public static int step(int m) { if (m ==1) return 1; if (m == 2) return 2; return step(m-1) + step(m-2); }