Python程序,用于检查给定数字是否为斐波那契数?

问题描述 投票:-1回答:2
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 fibonacci
2个回答
-1
投票
# 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 ")
© www.soinside.com 2019 - 2024. All rights reserved.