当前位置: 代码迷 >> 综合 >> 不死兔子的问题
  详细解决方案

不死兔子的问题

热度:44   发布时间:2023-10-31 16:09:43.0

题目是:

 一对兔子每月都要生一对小兔子,并且小兔子出生后四个月就可以再生一对小兔子。
     假设有一对兔子每个月都生一雌一雄两只兔子,新生的兔子四个月又升一雌一雄两只兔子。
     以此类推: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 stubSystem.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);}}
}

 

  相关解决方案