package org.bluebridge.topics;
/*
* 第39级台阶
小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!
站在台阶前,他突然又想着一个问题:
如果我每一步只能迈上1个或2个台阶。
先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。
那么,上完39级台阶,有多少种不同的上法呢?
请你利用计算机的优势,帮助小明寻找答案。
* */
public class Number_39steps {
public static void main(String[] args) {
int[][] step = new int[39][2];// 第一维是39层阶梯,第二维是左右脚
// 对于第一级阶梯,左脚有1种方法到达,右脚0种(因为题目要求先迈左脚)
step[0][0] = 1;
step[0][1] = 0;
// 对于第二级阶梯,左脚有1种方法到达,因为每一步只能迈上1或2 个台阶,右脚有1种
step[1][0] = 1;
step[1][1] = 1;
for (int i = 2; i < 39; i++) {
step[i][1] = step[i - 2][0] + step[i - 1][0];
step[i][0] = step[i - 2][1] + step[i - 1][1];
}
System.out.println(step[38][1]);
}
}
第39级台阶 小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!
最新推荐文章于 2023-12-20 22:51:21 发布