費波那契數列能近似換算英里與公里,因為相鄰費波那契數的比率會趨近黃金比例 (φ ≈ 1.6180339887...),而這個常數與每英里 1.609344 公里的官方換算因數極為接近。由於相鄰費波那契數構成的有理分數會夾住 φ,你可以將英里數值替換為下一個費波那契數,得到的公里數會落在真值的幾個百分點之內,反之亦然。若要在實務上使用這個技巧,你需要一份乾淨且有編號的費波那契數清單,而費波那契數列產生器正好能產生這種輸出:一份從 F(0) 到 F(n) 的精確清單,以純小數文字呈現,沒有四捨五入、沒有科學記號,也不會上傳到伺服器。對於 5 英里的車程,下一個費波那契數是 8,大約是 8 公里;對於 8 公里的步行,前一個費波那契數是 5,大約是 5 英里。近似誤差在較小的項附近最大,隨著項數增加而逐漸縮小,因此它適合作為心算捷徑,而非測量等級的精確換算。

fibonacci sequence convert miles to km
fibonacci sequence convert miles to km

費波那契英里-公里捷徑背後的數學

這個捷徑建立在一個數值巧合之上:任意兩個相鄰費波那契數的比率會趨近 φ,而 φ 與真實的英里-公里換算因數相差約 0.55%。由於這些比率從 φ 的兩側交替收斂,分數 8/5、13/8、21/13、34/21 等等會在 1.609344 上下略微振盪,且每一步都更為接近。這種交替擠壓正是這個技巧有用的原因:5 英里對應到 8 公里,8 英里對應到 13 公里,13 公里又回到 8 英里,所有結果的誤差都小到足以應付日常規劃。這裡使用的定義是標準的零基遞迴式:F(0) = 0 且 F(1) = 1,並以 F(n) = F(n−1) + F(n−2) 定義 n ≥ 2,這與NIST 數學函數數位函式庫 §24.15(iv)以及OEIS A000045條目所記載的形式一致。其他參考資料有時會以 1, 1 作為開頭,這可能會讓前面重複的項造成混淆;將索引固定在每一行就能徹底消除這種歧義。

費波那契近似法何時足夠精確

最小的費波那契配對在實務上過於粗糙。比率 2/1 與換算因數相差超過 24%,而 3/2 則落在 1.609 下方約 7%。從 5 和 8 這一對開始,誤差會降到 1% 以下並維持在該範圍內,隨著分數趨近 φ 而在真值的兩側交替。這使得這個技巧在旅行估算、課堂示範和快速心算時相當可靠,但並不適用於導航、車輛里程錶、科學工作或任何法規要求特定單位轉換的場合。下方表格列出這個捷徑可用的常見費波那契配對及其比率,方便你為遇到的任何英里或公里數值挑選最接近的夾擊範圍。

較小的費波那契數 較大的費波那契數 配對比率 典型用途
1 2 2.000 1 英里 ≈ 2 公里,2 公里 ≈ 1 英里
2 3 1.500 2 英里 ≈ 3 公里,3 公里 ≈ 2 英里
3 5 1.667 3 英里 ≈ 5 公里,5 公里 ≈ 3 英里
5 8 1.600 5 英里 ≈ 8 公里,8 公里 ≈ 5 英里
8 13 1.625 8 英里 ≈ 13 公里,13 公里 ≈ 8 英里
13 21 1.615 13 英里 ≈ 21 公里,21 公里 ≈ 13 英里
21 34 1.619 21 英里 ≈ 34 公里,34 公里 ≈ 21 英里
34 55 1.618 34 英里 ≈ 55 公里,55 公里 ≈ 34 英里
55 89 1.618 55 英里 ≈ 89 公里,89 公里 ≈ 55 英里

配對比率欄位會告訴你近似值落在哪裡。像 1.500 和 1.600 這類數值低於 1.609344 的換算因數,因此在英里換算公里時容易低估公里數;而 1.667 和 1.625 等數值高於換算因數,則會高估。比率會從 φ 的兩側交替逼近,因此在表格中往上爬升時,誤差會在真值上下振盪。對於大多數介於 1 到 100 之間的英里或公里數值,配對 5/8 是第一個能把估算值帶到精確換算約 1% 誤差以內的組合。

產生器與心算:哪個比較有效

超過前十項之後,費波那契數成長得太快,難以記在腦中,而且大多數參考資料對索引方式的定義也不一致。有些以 1, 1 作為開頭,並將第三項稱為 F(3) = 2;其他則以 F(0) = 0 與 F(1) = 1 作為開頭,並將同一個數值稱為 F(2)。這種差異會讓前幾項重複的數在對話中指向特定項時特別令人困惑。費波那契數列產生器一次解決這兩個問題。它將每一行輸出固定在零基索引上,因此即使 F(2) = 1 看起來像是重複,F(0) = 0 和 F(1) = 1 仍然毫無歧義。它也會將每個數值以 JavaScript BigInt 儲存,並以精確的十進位整數印出,所以 F(79) 之後的項——也就是普通 Number 數值開始四捨五入的界線——會以完整的數字字串呈現,而不是科學記號。F(100) 會渲染為 354224848179261915075,每個數字都完整保留,這正是你在 F(11) = 89、F(12) = 144 或 F(13) = 233 等位置檢驗這個技巧時所需要的精確度。

產生編號式的費波那契數列

依照下列步驟取得英里-公里捷徑所需的精確費波那契數。整個工作流程都在你目前的瀏覽器中執行,所以你輸入或產生的內容都不會離開這個頁面。

  1. 在瀏覽器中開啟費波那契數列產生器。
  2. 輸入介於 1 到 1,000 之間的整數項數;該計數包含 F(0),因此輸入 10 會回傳 F(0) 到 F(9),而不是 F(10)。
  3. 產生數列並閱讀摘要行,其中會同時列出產生的項數與最終索引——請確認它與你要求的內容相符。
  4. 捲動輸出,直到找到夾住你目標英里數或公里數的費波那契配對。
  5. 複製以換行符分隔的精確清單,或是在無法取得剪貼簿權限時手動選取可見的文字。

將數列應用於英里-公里換算

挑選較小成員剛好小於你英里數值的費波那契配對。若要估算 5 英里車程的公里數,在產生的清單中找到 5,並注意下一項是 8。這個捷徑給出 5 英里 ≈ 8 公里。精確換算的結果是 5 × 1.609344 = 8.04672 公里,所以費波那契估算值比精確數值低約 0.05 公里,完全在日常旅行計算所需的精確範圍之內。若要反向換算,請找較大成員剛好大於你公里數值的費波那契配對:13 公里時,前一個費波那契數是 8,因此 13 公里 ≈ 8 英里。由於配對比率會從換算因數的兩側交替振盪,英里換算公里時估算值往往略為偏低,而公里換算英里時則往往略為偏高,表格中許多位置都呈現這個傾向。

費波那契技巧的限制與常見陷阱

產生器的 1,000 項上限是產品效能上的界線,而不是數列本身的數學限制。F(999) 包含數百個十進位數字,完整編號輸出的大小需要捲動才能看完;上限設在一千項,可讓渲染的文字與剪貼簿承載量保持在一般瀏覽器可處理的合理範圍。若你的任務需要數百萬個費波那契項以進行專門的數論分析或大型測試資料,請改用能將輸出串流寫入檔案的程式設計環境。產生器同樣完全在瀏覽器中執行——你輸入的計數與它回傳的數列都不會離開頁面,沒有歷史紀錄、不需要帳號,也沒有遠端數列 API。編輯項數會清除先前的結果,因此舊數列不會在未處理的新輸入下繼續顯示;超過 1,000 的計數、小數、負號、科學記號與空白輸入都會被拒絕,而不是默默四捨五入。除了精確度的考量之外,這個捷徑在非常小的距離上也會失效,因為 2/1 或 3/2 的比率離 1.609 太遠,無法提供有用的估算;對於任何低於 3 英里或 3 公里的情況,直接乘以 1.609344 會比爬上費波那契階梯更快且更精確。費波那契捷徑仍然是估算工具,而不是測量方式:在道路標示、車輛速度錶、科學工作或任何需要法規精度的情境中,請直接乘以 1.609344,而不是爬上費波那契階梯。

延伸閱讀:使用 BigInt 在 JavaScript 中產生費波那契數列

延伸閱讀:如何精確計算費波那契數列