Given a number \’n\’,how to check if n is a Fibonacci number.
前几个斐波那契数是0、1、1、2、3、5、8、13、21、34、55、89、141,..
# python program to check if x is a perfect square
import math
# A utility function that returns true if x is perfect square
def isPerfectSquare(x):
s = int(math.sqrt(x))
return s*s == x
# Returns true if n is a Fibinacci Number, else false
def isFibonacci(n):
# n is Fibinacci 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)
creating new list of number
fb=[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 141]
# A utility function to test above functions
for i in fb:
if (isFibonacci(i) == True):
print(i,"is a Fibonacci Number")
else:
print (i,"is a not Fibonacci Number ")