1
我想要做的是:素數生成器不工作的Python
- 創建奇數的「名單」
- 然後測試它們是否素 測試將用倍數來完成多達奇數的值的一半,因此halfodd
- 把質數到列表
- 打印,列出
豪ver我的結果是從1到1003跳過3,4和5的數字列表
這裏是否存在語義錯誤?
#Prime number generator
def primenumber():
primelist = [1, 2]
num = 3
even = num%2
multi = 0
result = 0
while len(primelist) < 1000:
if even != 0:
oddnum = num
i = 2
halfodd = ((oddnum + 1)/2)
while i < halfodd:
i =+ 1
multi = oddnum%i
if multi == 0:
result += 1
if result != 0:
primelist.append(oddnum)
prime_num = oddnum
num += 1
print primelist
primenumber()
我不確定這是否是問題的根源,但是您從不重新計算偶數,因此它不會幫助您清除稍後在代碼中測試的偶數。 – Blckknght
您上傳的代碼有問題。我甚至無法得到輸出......如果我將素數的數量改爲5,那麼程序不會終止。 –
您可以實施[Eratosthenes的篩選器](http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes),只是單挑。 – 2rs2ts