/*
让技术飞,每日一题
今天这题是在网上看到的菲那契数列问题,不知道的可以百度一下“菲那契数”,这个可以指导你如何解题,
和让技术飞有奖活动第一期的题目差不多哦。
题目:有一对兔子从出生后第三个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,
假如兔子都不死,问每个月的兔子总数为多少?
*/
/*根据斐波那契的递推关系可解此题。
递推关系如下:
f(1)=1
f(2)=f(1)+f(0)
f(3)=f(2)+f(1)
f(4)=f(3)+f(2)
f(5)=f(4)+f(3)
......
f(n)=f(n-1)+f(n-2),其中n>=2
3f(n)=f(n+2)+f(n-2)
*/
class Test
{
public static void main(String args[])
{
rabbit(24);
}
public static void rabbit(int month )
{
int f1 = 1,f2 = 1,f;
System.out.println("第1个月有"+f1+"只兔子");
System.out.println("第2个月有"+f2+"只兔子");
for(int i = 3;i <= month ; i++)
{
f = f2;
f2 = f2 +f1;
f1 = f;
System.out.println("第"+i+"个月有"+f1+"只兔子");
}
}
}
|
|