//1到100相加:
public static void main(String[] args) { System.out.println(f(100)); } //遞歸方法 public static int f(int x){ if(x<2){ return 1; }else{ return f(x-1)+x; } }
2.斐波那契數列 生兔子
題目:古典問題:3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?
分析:首先我們要明白題目的意思指的是每個月的兔子總對數;假設將兔子分為小中大三種,兔子從出生后三個月后每個月就會生出一對兔子,
那么我們假定第一個月的兔子為小兔子,第二個月為中兔子,第三個月之后就為大兔子,那么第一個月分別有1、0、0,第二個月分別為0、1、0,
第三個月分別為1、0、1,第四個月分別為,1、1、1,第五個月分別為2、1、2,第六個月分別為3、2、3,第七個月分別為5、3、5……
兔子總數分別為:1、1、2、3、5、8、13……
於是得出了一個規律,從第三個月起,后面的兔子總數都等於前面兩個月的兔子總數之和,即為斐波那契數列。
public static void main(String[] args) { for(int i = 1;i<=12;i++){ System.out.println("第"+i+"個月兔子共"+f(i)+"對"); } } //遞歸方法 public static int f(int x){ if(x<3){ return 1; }else{ return f(x-1)+f(x-2); } }