青蛙跳台阶:一只青蛙一次可以跳上一级台阶,也可以跳上两级台阶。求该青蛙跳上一个n级台阶共有几种跳法
青蛙在跳的时候可以随机跳1下或者2下
那么就形成一个一个递归的逻辑,递归出口就是当只有一级台阶的时候只有一种跳法,当有两级台阶的时候有两种跳法
public static int frogjump(int n){ if(n==0) //当没有台阶的时候返回0 { return 0; } if(n==1) //当只有一个台阶的时候只有一种跳法,返回1 { return 1; } if(n==2) //当只有两个台阶的时候有两种跳法,返回2 { return 2; } int count=frogjump(n-1)+frogjump(n-2); //当有n个台阶等于跳n-1和n-2两种台阶数量的方法之和 return count; } public static void main(String[] args){ //青蛙跳台阶问题 Scanner scanner=new Scanner(System.in); System.out.println("请输入共有几级台阶:"); int x=scanner.nextInt(); int result=frogjump(x); System.out.println(x+"级台阶共有"+result+"种跳法"); }
结果: