本帖最后由 倒骑驴走着瞧 于 2015-4-5 12:16 编辑
import java.util.Scanner;
class JumpStep
{
//青蛙跳台阶,跳n个台阶有多少种跳法(一次可以跳1阶或者2阶)
public static void main(String[] args)
{
Scanner s = new Scanner(System.in);
int n = 0;
while(true){
System.out.print("请输入台阶数:");
n = s.nextInt();
int jumpNum = jump(n);
if(jumpNum==-1){
System.out.println("输入台阶数不合法");
}else{
System.out.println("跳"+n+"阶有"+jumpNum+"种跳法");
}
}
/*
一次可跳1台阶或者2台阶
台阶总数1-->jump(1)=1
台阶总数2-->jump(2)=2
台阶总数3-->jump(3)=3
台阶总数4-->jump(4)=5
台阶总数5-->jump(5)=8
分析结果发现:台阶数大于等于3时,jump(n)=jump(n-1)+jump(n-2);//n>=3
*/
}
public static int jump(int n){
if(n==1){
return 1;
}else if(n==2){
return 2;
}else if(n>=3){
return jump(n-1)+jump(n-2);
}else{
return -1;
}
}
}
|