紧急!电脑编程高手请进!C#编程:兔子繁殖问题
来源:百度知道 编辑:UC知道 时间:2024/09/27 08:22:35
这种问题一般是找出他们之间的关系就可以了。
我找出的关系是:
前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);