题目描述
题目标题: 第39级台阶
小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!
站在台阶前,他突然又想着一个问题:
如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?
请你利用计算机的优势,帮助小明寻找答案。
要求提交的是一个整数。
注意:不要提交解答过程,或其它的辅助说明文字。
解释:最后一定是右脚,那么前面一个是左脚,我们这里设1为右脚,0为左脚,一路递推,则有
c[i][0] = c[i - 1][1] + c[i - 2][1];
c[i][1] = c[i - 1][0] + c[i - 2][0];
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();// 输入的阶梯数
System.out.println(JumpFloor(n));
}
public static int JumpFloor(int target) {
int i;
int c[][] = new int[target+1][2];
c[0][0] = c[1][1] = 0;
c[0][1] = c[1][0] = 1;
for (i = 2; i <= target; ++i) {
c[i][0] = c[i - 1][1] + c[i - 2][1];
c[i][1] = c[i - 1][0] + c[i - 2][0];
}
return c[target][1];
}
}