0
我試圖找到數705561475143.Python的 - 素數典
在我的代碼,功能primeFactor()
搜索某一整數的所有因素,它們插入到函數Prime()
的一個主要因素,它將數字更改爲0或根本不更改。如果該數字未更改爲0,則該數字應該添加到列表中。
import math
def Prime(n):
isPrime = False
r = range(2, int(math.sqrt(n)+5))
a = 1
for b in r:
if r[a] >= int(math.sqrt(n)+2):
break
elif n % r[a] != 0:
a += 1
elif n % r[a] == 0 & n != r[a] & n != 1:
n = 0
break
def primeFactor(m):
l = []
for x in range(1, m+1):
if m % x == 0:
if Prime(m) != 0:
l.append(x)
print(l)
然而,當我輸入
> primeFactor(36)
我得到
> [1,2,3,4,6,9,12,18,36]
而不是
> [2,3]
當我輸入
> primeFactor(705561475143)
該代碼不能給我一個答案。
謝謝。我試着運行這個,但它不認識一些函數(即primeList)。你還使用了哪些進口產品? – LaPXL8R
@ LaPXL8R - 我故意沒有包含primeList()。然而,我確實花了一個小時左右的時間調整我的代碼,使其更加優化,現在我會更新這篇文章。 –
@ LaPXL8R我已經包含完整的自包含代碼。 –