其他分享
首页 > 其他分享> > 有n步台阶,一次只能上1步或2步,共有多少种走法

有n步台阶,一次只能上1步或2步,共有多少种走法

作者:互联网

 

循环迭代:

 
 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 <= n; 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 <= n; 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 }

 

  

                     

标签:一步,台阶,走法,int,两步,共有,public
来源: https://www.cnblogs.com/2zly/p/16421833.html