紧急!电脑编程高手请进!C#编程:兔子繁殖问题

来源:百度知道 编辑:UC知道 时间:2024/09/27 08:22:35
兔子繁殖问题。设有一对新生的兔子,从第三个月开始他们每个月都生一对兔子,新生的兔子从第三个月开始又每个月生一对兔子。按此规律,并假定兔子没有死亡,20个月后共有多少个兔子?要求编写为控制台程序。

这种问题一般是找出他们之间的关系就可以了。

我找出的关系是:
前2个月都是1对兔子,,第3个月是2对兔子,从第3个月开始,
下月的兔子对数=今月的兔子对数+(年龄>2月的兔子对数)

所以得出的关系就是:
f(n)=1 (n<3);
f(n+1)=f(n)+f(n-2) (n>=3)
或者是(按只数算的)
f(n)=2 (n<3);
f(n+1)=f(n)+f(n-2) (n>=3)

根据以上的关系,可以用递归的思想就很容易写出程序了

public class DiGui
{
public static uint TuZi(uint month)
{
if (month <3 )
{
return 2;
}
else
{
return TuZi(month - 1) + (TuZi(month - 2));
}
}
}

在主函数里面调用一下就行了。你验证一下看看对不。

//int a, b, c, i;
//a = 1; b = 1;
//for (i = 3; i <= 20; i++)
//{
// c = a + b;
// a = b;
// b = c;
//}
//Console.WriteLine(c);