首頁> 後端開發> C++> 主體

一個高效率的方法來檢查第n個斐波那契數是否是10的倍數?

王林
發布: 2023-09-05 08:05:08
轉載
715 人瀏覽過

一個高效率的方法來檢查第n個斐波那契數是否是10的倍數?

這裡我們將會看到一個有效的方法來檢查第 n 個斐波那契項是否是 10 的倍數。假設斐波那契項為 {0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987}。因此,這裡第 15 個斐波那契數(從 0 開始計數)可以被 10 整除。對於 16,它將傳回 true。

一種最簡單的方法是產生直到給定項的斐波那契數,並且檢查是否能被10整除?但這個解決方案並不好,因為它不適用於較大的項。

另一個好的方法如下-

斐波那契項- 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144 , 233, 377, 610, 987

這些數字(標記為粗體字母)可以被2整除。它們的間隔是3個斐波那契項。同樣,請檢查-

斐波那契項:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987

每第5 項都可以被5 整除。現在 3 和 5 的 LCM 是 15。所以我們可以說每 15th斐波那契項都可以被 10 整除。

讓我們看看演算法來理解這個想法。

演算法

fiboDivTen(term)

Begin if term is divisible by 15, then return true end if return false End
登入後複製

Example

的中文翻譯為:

範例

#include using namespace std; bool fiboDivTen(int term) { if(term % 15 == 0){ return true; } return false; } int main() { int term = 45; if (fiboDivTen(term)) cout << "Divisible"; else cout << "Not Divisible"; }
登入後複製

#輸出

Divisible
登入後複製

以上是一個高效率的方法來檢查第n個斐波那契數是否是10的倍數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!