遞迴-斐波納挈數列(不死神兔)
阿新 • • 發佈:2019-01-07
1.遞迴,指在當前方法內呼叫自己的這種現象
public void method(){
System.out.println(“遞迴的演示”);
//在當前方法內呼叫自己
method();
}
2.有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問第二十個月的兔子對數為多少?
public class Work05 { public static void main(String[] args) { /*古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子, * 小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死, * 問第二十個月的兔子對數為多少? * * * 1 * 1 * 2 * 3 * 5 * 8 * 13 * * 規律:除了第一個月和第二月以外,其餘每個月都是前兩個月之和 * 斐波那契列數 */ System.out.println(shentu(20)); } //定義一個球兔子的方法; //用遞迴的方法 static public int shentu(int a){ if(a==1){ return 1; }else if(a==2){ return 1; }else{ return shentu(a-1)+shentu(a-2); } } } public class DiguiDemo2 { // 用陣列方式演示。 public static void main(String[] args) { int[] arr = new int[20]; arr[0] = 1; arr[1] = 1; for (int x = 2; x < arr.length; x++) { arr[x] = arr[x - 2] + arr[x - 1]; } System.out.println(arr[19]); } }