找到第9个Fibonacci素数

2024-09-27 21:28:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我不确定这是不是合适的地方问,但我遇到了一堵墙,代码。我试图找到第9个Fibonacci数,它是一个质数,但有问题。首先,检查数字是否为素数的函数对于个位数的素数(2,3,5,7)返回None。接下来,我想我要找的值是514229,如here所示,但是我的程序显示值17711作为第9个斐波那契素数,这是不正确的。我的代码发布在下面:

def isPrime(n):


    n = abs(int(n))

   if n < 2:
        return False


    elif n == 2:
        return True


    elif not n & 1:
        return False

    else:
        for x in range(3, n/2):
            if n % x == 0:
                return False
            return True


def chkFibonacci():

    num1 = 1
    num2 = 1
    mySum = 0
    ctr = 0
    choice = 'n'

    while (choice != 'y'):
        mySum = num1+num2
        #print mySum
        if (isPrime(mySum)== True):
            ctr = ctr + 1
            print mySum
            if (ctr == 9):
                print mySum
                break
        num1 = num2
        num2 = mySum    

chkFibonacci()
print isPrime(3)

感谢任何帮助。提前谢谢!!在


Tags: 代码falsetruereturnifdef素数print

热门问题