有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 81 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