//题目:古典问题:有一对兔子,从出生后第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();
C#古典兔子问题
最新推荐文章于 2023-12-13 11:42:12 发布