Python 中用於檢查給定數字是否是斐波那契數列的程式
假設我們有一個數字 n。我們需要檢查 n 是否存在於斐波那契數列中。我們知道在斐波那契數列中,對於從 2 到 n 的每個 i,f(i) = f(i-1) + f(i-2),並且 f(0) = 0,f(1) = 1。
所以,如果輸入類似於 n = 13,則輸出將為 True,因為斐波那契數列中的一些項為:0、1、1、2、3、5、8、13、21、34,所以存在 34。
為了解決這個問題,我們將遵循以下步驟 -
- phi := 0.5 + 0.5 * 平方根(5.0)
- a := phi * n
- 當 n 為 0 或 a 為整數時返回 true
示例
讓我們看看以下實現以獲得更好的理解 -
from math import sqrt def solve(n): phi = 0.5 + 0.5 * 5.0**0.5 a = phi * n return n == 0 or abs(round(a) - a) < 1.0 / n n = 13 print(solve(n))
輸入
13
輸出
True
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP