from datetime import datetime
star=datetime.now()
primes(10000000)
stop=datetime.now()
print(star)
print(stop)
print(stop-star)
def primes(n):
if n<2: return []
if n==2: return [2]
s=list(range(3,n,2))
mroot=n**0.5
half=len(s)
i=0
m=3
while m<=mroot:
if s[i]:
j=(m*m-3)//2
s[j]=0
while j < half:
s[j]=0
j+=m
i=i+1
m=2*i+3
return [2]+[x for x in s if x]
python快速生成素数算法(一千万以内1.7秒)
最新推荐文章于 2024-03-01 12:23:37 发布