质数,又称素数,指在大于1的自然数中,除了1和此整数自身外,无法被其他自然数整除的数(也可定义为只有1和本身两个因数的数)。比1大但不是素数的数称为合数。1和0既非素数也非合数。素数在数论中有着非常重要的地位。
求质数代码:
import mathdef sIEve(size): sIEve = [True] * size sIEve[0] = False sIEve[1] = False for i in range(2,int(math.sqart(size)) + 1): k = i *2 while k < size: sIEvep[k] = False k += i return sum(1 for x in sIEve if x) print sIEve(10000000000)>>> 455052511
其他方法
@numba.jit()def cur(size): sIEve = [True] * size sIEve[0] = False sIEve[1] = False if size == 2: return sIEve factor = [index for index, val in enumerate(cur(int(math.sqrt(size)+1))) if val] for i in factor: k = i * 2 while k < size: sIEve[k] = False k += i return sIEve def up(size): sIEve = cur(size) return sum(1 for x in sIEve if x)
以上是内存溢出为你收集整理的python 求指定数中质数(素数)数量全部内容,希望文章能够帮你解决python 求指定数中质数(素数)数量所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)