Situatie
Given a number \’n\’, how to check if n is a Fibonacci number.
First few Fibonacci numbers are 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ..
Examples :
Input : 8 Output : Yes Input : 34 Output : Yes Input : 41 Output : No
Solutie
# python program to check if x is a perfect squareimport math# A utility function that returns true if x is perfect squaredef isPerfectSquare(x): s = int(math.sqrt(x)) return s*s == x# Returns true if n is a Fibinacci Number, else falsedef 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) # A utility function to test above functionsfor i in range(1,11): if (isFibonacci(i) == True): print i,"is a Fibonacci Number" else: print i,"is a not Fibonacci Number "
Leave A Comment?