以兔子繁殖为业务,简易计算银行复利问题
兔子繁殖业务说明:
一对兔子,从出生后第3个月起每个月生一对兔子。
小兔子长到第三个月后每个月又生一对兔子。
假如兔子都不死,求兔子的数量。
兔子繁殖数据逻辑:
根据业务说明可将兔子繁殖的数据逻辑罗列如下表:
1,2两月由于未达到繁殖期,因此始终为一对兔子(A)
3月兔子A开始繁殖,因此为两对兔子(A和B)。
4月兔子A继续繁殖,因此为三对兔子(A、B、C)。
5月兔子A继续繁殖,但兔子B也到达了繁殖期,因此为五对兔子(A~E)。
以此类推得上表。
算法:当月数大于等于3时,本月兔子数量 = 上月 + 上上月的兔子数量(注意算法效率)。
代码:
package cn.wzu.dsj.shiyan3;
import java.util.*;
public class RabbitNum {
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println("请输入月份:");
int month=in.nextInt();
in.close();
System.out.println("第"+month+"个月,兔子的数量是:"+rabbit(month));
}
public static int rabbit(int month){
int[] nums=new int [13];
nums[1]=2;
nums[2]=2;
for(int i=3;i<=12;i++){
nums[i]=nums[i-1]+nums[i-2];
}
return nums[month];
}
}