题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
//这是一个菲波拉契数列问题
public class lianxi01
{
public static void main(String[] args)
{
System.out.println("第1个月的兔子对数: 1");
System.out.println("第2个月的兔子对数: 1");
int f1 = 1, f2 = 1, f, M=24;
for(int i=3; i<=M; i++)
{
f = f2;
f2 = f1 + f2;
f1 = f;
System.out.println("第" + i +"个月的兔子对数: "+f2);
}
}
}谁能帮小弟 详细的分析一下这个问题???
//这是一个菲波拉契数列问题
public class lianxi01
{
public static void main(String[] args)
{
System.out.println("第1个月的兔子对数: 1");
System.out.println("第2个月的兔子对数: 1");
int f1 = 1, f2 = 1, f, M=24;
for(int i=3; i<=M; i++)
{
f = f2;
f2 = f1 + f2;
f1 = f;
System.out.println("第" + i +"个月的兔子对数: "+f2);
}
}
}谁能帮小弟 详细的分析一下这个问题???
斐波拉契数列求An项公式为:f(i)=f(i-1)+f(i-2),i>2.
上述的代码是用非递归方法求该数列第n项的值。仅此而已。
我没弄明白他是怎么巧妙的使:小兔子长到第三个月后每个月又生一对兔子 跳过这3个月的,逻辑思维想不明白!!!那如果是没5个月后
for(int i=5; i<=M; i++)
{
f = f2;
f2 = f1 + f2;
f1 = f;
System.out.println("第" + i +"个月的兔子对数: "+f2);
}
他逻辑怎么跳过这几个月的