一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?
package com.company;
import java.math.BigInteger;
import java.util.Scanner;
//找规律递推与递归,最后规律为1,1,2,3,5,8以此类推对应1,2,3,4,5,6
public class Day8 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
BigInteger big[]=new BigInteger[1000];
int n=sc.nextInt();
big[0]=new BigInteger(""+1);
big[1]=new BigInteger(""+1);
int month=0;
//需要考虑这个特殊情况否则不会全部通过测试点
if(n==1)
System.out.print(1);
else {
for (int i = 2; ; i++) {
big[i] = big[i - 1].add(big[i - 2]);
int a = Integer.parseInt(String.valueOf(big[i]));
if (a >= n) {
month = i + 1;
break;
}
}
System.out.print(month);
}
}
}