青蛙跳臺階問題(提示, 使用遞回)
一只青蛙一次可以跳上 1 級臺階,也可以跳上2 級,求該青蛙跳上一個n 級的臺階總共有多少種跳法
?
講解圖,由圖可知跟斐波那契函式是一樣的規律,從第三位開始,等于自身前兩位數相加

?
那么就很簡單了!
代碼如下
import java.util.Scanner;
public class UseOfMethods {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
frogJump(n);
sc.close();
}
public static void frogJump(int n){
if(n<3){// 樓梯階級小于3,直接回傳n就行
System.out.println(n+"階臺階"+"青蛙有"+n+"種跳法");
}else{
int a = 1;
int b = 2;
int c = 0;
for(int i =3;i<=n;i++){// 臺階大于三級的,這里用回圈加法,小路更高
c=a+b;
a=b;
b=c;
}
System.out.println(n+"階臺階"+"青蛙有"+c+"種跳法");
}
}
}

本文最后,如果有人不懂的斐波那契數,可以看看我的這篇文章UseOfMethods - 方法的使用 - Java
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/333780.html
標籤:java
