古典問(wèn)題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長(zhǎng)到第三個(gè)月后每個(gè)月又生一對(duì)兔子,假如兔子都不死,問(wèn)每個(gè)月的兔子對(duì)數(shù)為多少?
【問(wèn)題分析】
總結(jié)發(fā)現(xiàn)每月兔子的規(guī)律:1,1,2,3,5,8,13,21....
從第三個(gè)月開(kāi)始,每一個(gè)月對(duì)數(shù)等于前兩個(gè)月對(duì)數(shù)之和:a[n]=a[n-1]+a[n-2]
而第一第二項(xiàng)已知,后面的值也可以求得。
import java.util.Scanner;
public class Rabbit {
private static int fun(int n) {
if(n==1||n==2) {
return 1;
}
return fun(n-1)+fun(n-2);//前兩月之和等于n月對(duì)數(shù)
}
@SuppressWarnings("resource")
public static void main(String[] args) {
System.out.println("請(qǐng)輸入一個(gè)整數(shù)查詢(xún)具體哪個(gè)月有多少兔子?");
Scanner s=new Scanner(System.in);
System.out.println(fun(s.nextInt()));
}
}