C#算法 一对小兔子一年后长成大兔子;一对大兔子每半年生一对小兔子。大兔子的繁殖期为4年,兔子的寿命是6年。假定第一年年初投放了一对小兔子,试编程计算,第n年末总共会有多少对兔子
/// <summary>
/// 一对小兔子一年后长成大兔子;一对大兔子每半年生一对小兔子。大兔子的繁殖期为4年,兔子的寿命是6年。
/// 假定第一年年初投放了一对小兔子,试编程计算,第n年末总共会有多少对兔子
/// </summary>
class Rabbit
{
public double years;
public Rabbit(double year)
{
this.years = year;
}
public int CalcRabbit(double year)
{
if (year < 1)
return 0;
else if ((year == 1) || (year == 1.5))
return 1;
else
{
return (year > 7 ? 0 : 1)//寿命6年
//繁殖期4年(2-6)
+ CalcRabbit(year - 1)
+ CalcRabbit(year - 1.5)
+ CalcRabbit(year - 2)
+ CalcRabbit(year - 2.5)
+ CalcRabbit(year - 3)
+ CalcRabbit(year - 3.5)
+ CalcRabbit(year - 4)
+ CalcRabbit(year - 4.5);
}
}
}