2013-03-05 30 views
0

我不確定這是否是正確的地方問,但我已經遇到了代碼明智的問題。我試圖找到第9個斐波納契數字,這是一個素數,但我有問題。首先,我檢查數字是否爲Prime的函數將返回無爲單個數字的素數(2,3,5,7)。接下來,我認爲我正在查找的值是514229,如here所示,但我的程序顯示給我的值爲17711,因爲第9個斐波納契數字不正確。我的代碼發佈如下:要找到第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) 

任何幫助表示讚賞。提前致謝!!

回答

5

return TrueelseisPrime的分支似乎縮進了太多。

+0

非常感謝.. ..修好了! – rahuL 2013-03-06 00:39:51