python求第n个质数_找到第n个质数:麻木
生活随笔
收集整理的這篇文章主要介紹了
python求第n个质数_找到第n个质数:麻木
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我試圖用埃拉霍斯特內斯的篩子找到第n個質數。
是的,我看到了類似的帖子,但是我對這段代碼有一個問題。
一旦找到第n個素數,我就停止算法。我寫的是:def nth_prime(n):
limit = 10**2
pn = 1 #keeps track of how many prime numbers we have found
sieve = range(3, limit, 2)
top = len(sieve)
for si in sieve:
if si:
pn += 1
print pn, si #used to check while coding
if pn == n:
return si #loop breaks when the nth prime is found
else:
bottom = (si*si - 3)/2
if bottom >= top:
break
sieve[bottom::si] = [0] * -((bottom-top)//si)
print nth_prime(11)
但它不起作用。至少不是我想的那樣。如果我添加回流過濾器(無,篩子)[n-2]效果良好。但我希望它在第n個素數停止計算。
以下是輸出:
^{pr2}$
我希望它能持續到:...
11 31
如果函數能夠正確計算所有篩到極限的篩分,為什么輸出會這樣?在
總結
以上是生活随笔為你收集整理的python求第n个质数_找到第n个质数:麻木的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java和pathion_Spring配
- 下一篇: 微信小程序中app.js文件、组件、ap