黑马程序员技术交流社区
标题: 关于斐波拉契数列的问题 [打印本页]
作者: 海乃百川 时间: 2016-8-12 17:08
标题: 关于斐波拉契数列的问题
题目:古典问题:有一对兔子,从出生后第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);
}
}
}
作者: Maroon 时间: 2016-8-12 23:41
int f1 = 1, f2 = 1, f, M=24;
for(int i=3; i<=M; i++) { 从这开始看不懂了希望大神解答
f = f2; //把f2存储到临时变量f中
f2 = f1 + f2; //f2等于f1和f2的和,也就是说变成了第三个数,是前两个数的和
f1 = f; //再把临时变量赋值给f1,此时f1就变成了第二个数,f2变成了第三个数,这是第一次循环
System.out.println("第" + i +"个月的兔子对数: "+f2);//i代表月份,第三个月的时候,f2代表斐波那契数列的第三个数
}
}
后面就以此类推了,每次就是把f2的值赋值给了f1,f2变成了f1+f2的和,就慢慢往后推了
作者: 海乃百川 时间: 2016-8-13 21:08
讲解得很详细,终于看懂了,谢谢你了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |