题目是:
一对兔子每月都要生一对小兔子,并且小兔子出生后四个月就可以再生一对小兔子。
假设有一对兔子每个月都生一雌一雄两只兔子,新生的兔子四个月又升一雌一雄两只兔子。
以此类推:n月后共有多少只兔子? (假设兔子都不会死亡)
规律是:
第1个月:1对
第2个月:1对
第3个月:1对
第4个月:1对
第5个月:2对
第6个月:3对
第7个月:4对
第8个月:5对
第9个月:7对
第10个月:10对
第11个月:14对
第12个月:19对
规律就是前四个月都是1个兔子
[5,8]都是n-3个兔子
[9,12]都是n-1+n-4
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(rabbitNum(12));
}
public static int rabbitNum(int n) {
if(1<=n&&n<=4) {
return 1;
}
if(5<=n&&n<=8) {
return n-3;
}
else {
return rabbitNum(n-1)+rabbitNum(n-4);
}
}
}