1 public class steps {
2 public int js(int n) {
3 int one = 2; //初始化为第三级台阶最后跨一步的走法
4 int two = 1; //初始化为第三级台阶最后跨两步(一下迈过去两个台阶)的走法
5 int sum = 0; //总走法
6 for (int i = 3; i ){
7 sum=one+two; //当i=3时,sum为最后跨一步one:到2级台阶的走法 + 最后跨两步two:到1级台阶的走法
8 two=one; // 3级台阶最后跨一步的走法赋值给two,第4级台阶最后跨两步走法就是3级台阶最后跨一步的走法,即到2级台阶的走法
9 one=sum; // 将3级台阶的总走法赋值给one,第4级台阶最后跨一步的走法就是3级台阶的总走法
10 }
11 return sum;
12 }
13 public static void main(String[] args) {
14 steps a=new steps();
15 System.out.println(a.js(10));
16 }
17 }
第三个台阶,跨两步即(跨两个台阶)
当n=1时, 一步
当n=2时,
(1)一步一步
(2)直接两步(跨两台阶)到第2个台阶
当n=3时,
(1)跨一步:2 ->3
先到2级台阶f(2),再一步到3级台阶
(2)跨两步 :1->3
先到1级台阶f(1),再跨两步到3级台阶
或者直接按照斐波那契数列;按照规律直接编写
1 2 3 5 8
1 public class steps {
2 public int js(int n) {
3 int one = 1;
4 int two = 2;
5 int sum = 0;
6 for (int i = 3; i ){
7 sum=one+two;
8 one=two;
9 two=sum;
10 }
11 return sum;
12 }
13 public static void main(String[] args) {
14 steps a=new steps();
15 System.out.println(a.js(10));
16 }
17 }
Original: https://www.cnblogs.com/2zly/p/16421833.html
Author: 颖火虫赵云
Title: 有n步台阶,一次只能上1步或2步,共有多少种走法
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/644529/
转载文章受原作者版权保护。转载请注明原作者出处!