检查给定数字是否为斐波那契数的 Python 程序
在本文中,我们将学习下面给出的问题陈述的解决方案 −
问题陈述
给定一个数字 n,检查 n 是否为斐波那契数
我们都知道第 n 个斐波那契数是前两个斐波那契数的和。但除了递推关系外,它们还提供了一个有趣的关系。
当且仅当 (5*n2 + 4) 或 (5*n2 – 4) 是完全平方数时,一个数本质上是斐波那契数。
我们将使用此属性来检查一个数字是否为斐波那契数。
现在让我们看看 Python 脚本的实现 −
示例
import math # if x is perfect square def isPerfectSquare(x): s = int(math.sqrt(x)) return s*s == x # if n is a Fibinacci Number def isFibonacci(n): #if one of 5*n*n + 4 or 5*n*n - 4 or both is a perferct square return isPerfectSquare(5*n*n + 4) or isPerfectSquare(5*n*n - 4) for i in range(1,11): if (isFibonacci(i) == True): print (i,"is a Fibonacci Number") else: print (i,"is a not Fibonacci Number")
输出
1 is a Fibonacci Number 2 is a Fibonacci Number 3 is a Fibonacci Number 4 is a not Fibonacci Number 5 is a Fibonacci Number 6 is a not Fibonacci Number 7 is a not Fibonacci Number 8 is a Fibonacci Number 9 is a not Fibonacci Number 10 is a not Fibonacci Number
如下图所示,所有函数和变量都在全局框架中声明 −
结论
在本文中,我们学习了识别给定数字是否是斐波那契数的方法。
广告