java经典算法|斐波拉契数列
问题描述
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
问题分析
这里以20个月为例,第1个月(0对大兔子、1对小兔子)和第1个月(1对大兔子、0对小兔子)共1对兔子,从第3个月开始起每月都生1对兔子,兔子数为2对(1对大兔子、1对小兔子第1月的兔子繁繁殖第1对小兔子
),第4个月兔子数为3对(2对大兔子、1对小兔子第1个月的大兔子繁殖第2对小兔子
),第5个月兔子数为5对(3对大兔子、2对小兔子第1月的兔子繁殖第3对兔子,第3月的兔子繁殖第1对兔子
…依此类推)
代码实现
public class Fibonacci {
public static void main(String[] args) {
int f1 = 1, f2 = 1, f;
System.out.print(f1 + " ");
System.out.print(f2 + " ");
int K = 20;
for (int i = 3; i < K; i++) {
f = f2;
f2 = f1 + f2;
f1 = f;
System.out.print(f2 + " ");
}
System.out.println();
}
}
运行结果
本文来自博客园,作者:Evan-LiuXing,转载请注明原文链接:https://www.cnblogs.com/liuxing98/p/17161529.html