我是靠谱客的博主 拼搏铅笔,最近开发中收集的这篇文章主要介绍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个质数:麻木的全部内容,希望文章能够帮你解决python求第n个质数_找到第n个质数:麻木所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部