循环迭代:
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 }
原创文章,作者:,如若转载,请注明出处:https://blog.ytso.com/270669.html