如何在 Python 程序中检查给定数字是否为斐波那契数?
pythonserver side programmingprogramming更新于 2025/12/20 11:56:17
在本文中,我们将了解下面给出的问题陈述的解决方案 −
问题陈述
给定一个数字 n,检查 n 是否为斐波那契数
我们都知道第 n 个斐波那契数是前两个斐波那契数的总和。但是它们还提供了除递归关系之外的有趣关系。
当且仅当 (5*n2 + 4) 或 (5*n2 – 4) 是完全平方数时,数字本质上是斐波那契数。
我们将使用此属性来检查数字是否是斐波那契数。
现在让我们看看 Python 脚本 − 的实现
示例
import math # 如果 x 是完全平方数 def isPerfectSquare(x): s = int(math.sqrt(x)) return s*s == x # 如果 n 是斐比那契数 def isFibonacci(n): #如果 5*n*n + 4 或 5*n*n - 4 中的一个或两者都是完美平方数 return isPerfectSquare(5*n*n + 4) 或 isPerfectSquare(5*n*n - 4) for i in range(1,11): if (isFibonacci(i) == True): print (i,"is a Fibonacci Number") else: print (i,"不是斐波那契数")
输出
1 是斐波那契数 2 是斐波那契数 3 是斐波那契数 4 不是斐波那契数 5 是斐波那契数 6 不是斐波那契数 7 不是斐波那契数 8 是斐波那契数 9 不是斐波那契数 10 不是斐波那契数
所有函数和变量均在全局框架中声明,如下图所示 −

结论
在本文中,我们学习了如何识别给定数字是否为斐波那契数列。
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

