C#古典兔子问题

     //题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,
        //小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 
        //程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
        //通过规律发现,第一个月和第二个月的兔子数都是1只,从第三个月开始,每个月兔子数都是前两个月兔子数之和
        //例如:第三个月2只等于第二月1只加上第一月1只,第四个月3只等于第三月2只加上第二月1只,依次类推
        //代码如下:
        Console.WriteLine("输入月数");
        int n = int.Parse(Console.ReadLine());//从键盘输入所需查找月数
        int[] num = new int[n];//声明一个一维数组,数组长度就是所输入的月数
        for (int i = 0; i < n; i++)//控制循环,有多少个月,就循环多少次
        {
            if (i == 0||i==1)//根据兔子规律判断,让第一个月和第二个月的兔子数默认为1只
            {
                num[i] = 1;
            }             
            else//从第三个月开始计算兔子每个月数目
            {
                num[i] = num[i - 1] + num[i - 2];//从第三个月开始,每个月兔子数都是前两个月兔子数之和
            }
            Console.WriteLine(num[i]);//打印每一个月兔子数
        }     
        Console.ReadKey();

猜你喜欢

转载自blog.csdn.net/qq_42016542/article/details/81456497