Java青蛙跳台阶问题
问题: 一只青蛙一次可以跳上一级台阶,也可以跳上二级台阶
求该青蛙跳上一个n级台阶总共有多少中跳法?
代码:
package algo;
public class f1 {
//递归方法解决并不高效
public static int f(int n){
if(n<3)
return n;
return f(n-1)+f(n-2);
}
//非递归方法实现
private static int f2(int n){
if(n<3)
return n;
int first=1,second=2,total=0;
while (n-->2){
total=first+second;
first=second;
second=total;
}
return total;
}
public static void main(String[] args) {
int n=6;
System.out.println("跳"+n+"级台阶有"+f(6)+"种跳法");
System.out.println("跳"+n+"级台阶有"+f2(6)+"种跳法");
}
}
程序运行结果: