public class Ch049 {
public static void main(String[] args) {
int a = 1, b = 1;
for (int i = 1; i <= 20; i++) {
System.out.print(a + "\t");
if (i % 5 == 0) {
System.out.println(); // 每 5 個換行
}
b = b + a; // 下一項
a = b - a; // 當前項前移
}
}
}
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
a、b 分別保存前兩項,初始皆為 1。a,然後計算下一項:b = a + b,a = b - a(相當於 a, b = b, a+b)。i % 5 == 0 控制每行 5 個數字,輸出整齊。BigInteger 計算第 100 項(超過 long 範圍)。F(n+1)/F(n)。經典遞歸數列的迭代寫法,適合初學者理解變量滾動更新技巧。