有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
public class test1 { public static void main (String[] args) throws Exception { a(); } public static void a() { int mama = 1, sum = 1, M=36; int[] demoArray = new int[99];//每个月有多少妈妈需要生小孩 for(int i=1; i<=M; i++) { if(i>2)//已知两个月不生小孩跳过 { if(i>4)//已知4个月没有新妈妈产生 { mama=mama+demoArray[i-2];//这个月的妈妈数=上个月妈妈数量加上前两个月的新生兔子(准妈妈) } demoArray[i]=mama;//将这个月产生的妈妈数量记录到每个月多少妈妈数组里 sum=mama*2+demoArray[i-1];//兔子总数是这个月妈妈总数*2+上个月新生兔子 System.out.println("第"+i+"个月的兔子对数: "+sum+""); } else { System.out.println("第"+i+"个月的兔子对数: "+sum+""); } } } }
浙公网安备 33010602011771号