[转]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);

            }

        }
    }
原文地址:https://www.cnblogs.com/YuanSong/p/2711351.html