ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
题目:古典问题:3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 分析:首先我们要明白题目的意思指的是每个月的兔子总数(这里应该是按对来计算的);我们假设将兔子分为小中大三种,兔子从出生后每三个月就生出一对兔子,那么我们假定第一个月为小兔子,第二个月为中兔子,第三个月之后就为老兔子(老兔子每过三个月还会再生的),那么第一个月分别有1、0、0,第二个月分别为0、1、0,第三个月分别为1、0、1,第四个月分别为,1、1、1,第五个月分别为2、1、2,第六个月分别为3、2、3,第七个月分别为5、3、5…… 兔子总数分别为:1、1、2、3、5、8、13…… 于是得出了一个规律,从第三个月起,后面的兔子总数都等于前面两个月的兔子总数之和。 ~~~ public class Rabbit { public static void main(String[] args) { int rabbitNum = 1; for(int i = 1 ; i < 20 ; i++){ rabbitNum = getMonthNum(i); System.out.println("兔子第 "+i+" 个月的总数为:"+rabbitNum); } } public static int getMonthNum(int x){ int initRabbit = 1; if(x == 1 || x == 2){ return initRabbit; } initRabbit = getMonthNum(x-1) + getMonthNum(x-2); return initRabbit; } } 兔子第 1 个月的总数为:1 兔子第 2 个月的总数为:1 兔子第 3 个月的总数为:2 兔子第 4 个月的总数为:3 兔子第 5 个月的总数为:5 兔子第 6 个月的总数为:8 兔子第 7 个月的总数为:13 兔子第 8 个月的总数为:21 兔子第 9 个月的总数为:34 兔子第 10 个月的总数为:55 兔子第 11 个月的总数为:89 兔子第 12 个月的总数为:144 兔子第 13 个月的总数为:233 兔子第 14 个月的总数为:377 兔子第 15 个月的总数为:610 兔子第 16 个月的总数为:987 兔子第 17 个月的总数为:1597 兔子第 18 个月的总数为:2584 兔子第 19 个月的总数为:4181 ~~~