用 Python 编写程序检查给定数字是否为斐波那契数列
pythonserver side programmingprogramming更新于 2025/12/17 23:40:17
假设我们有一个数字,比如 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 * square root of(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
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

