寻找第九个斐波那契素数

0 投票
1 回答
872 浏览
提问于 2025-04-17 18:04

我不太确定这是不是问问题的合适地方,但我在代码上遇到了瓶颈。我正在尝试找出第9个斐波那契数中是质数的那个,但遇到了一些问题。首先,我用来检查一个数字是否是质数的函数,对于单个数字的质数(2、3、5、7)返回的是None。接下来,我认为我在找的值是514229,正如这里所示,但我的程序却给出了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)

任何帮助都非常感谢。提前谢谢大家!!

1 个回答

5

isPrime这个函数的else部分,return True的缩进似乎太多了。

撰写回答