菲波拉契数列的算法 是一个常见的面试题
/**
* 问题描述:一对兔子从出生后第三个月开始,每月生一对小兔子。
* 小兔子到第三个月又开始生下一代小兔子。
* 假若兔子只生不死,一月份抱来一对刚出生的小兔子,
* 问一年中每个月各有多少只兔子。
问题分析:
1月 | 2月 | 3月 | 4月 | 5月 | 6月 | 。。。 |
1 | 1 | 1+1=2 | 2+1=3 | 3+1+1=5 | 5+1+1+1=8 | 。。。 |
*/
public class Feibonaqie_Test {
public static void main(String[] args) {
int a=1, b=1, c;
for(int i=1; i<=12; i++){
if(i<=2){
System.out.println("第" + i + "个月的兔子数:1");
}else{
// 当月兔子总数
c = a + b;
System.out.println("第" + i + "个月的兔子数:" + c);
// 将 3个月中间那个月的数量赋给 3个月的第一个月,
// 因为第一个月总是一个相对较小的值,相比第2个月总是较小的,所以将 b 赋给a
a = b;
// 将3个月最后那个月的数量赋给 3个月中间那个月
// 因为中间那个月,相对第一个月较大,所以将之前取到的第3个月 c 赋给 b
b = c;
}
}
}
}
转自 链接 兔子繁殖问题 - YoVinci - 博客园