找素数

题目描述

求解

还是欧拉筛。

cnt,i=0,2
primer=[0]*(100003)
vis=[False]*10000000
while True:
    if cnt==100002: break
    if vis[i]==False:
        cnt+=1
        primer[cnt]=i
    for j in range(1,cnt+1):
        if primer[j]*i>10000000: break
        vis[primer[j]*i]=True
        if i%primer[j]==0: break
    i+=1
print(primer[100002])

今天继续鸽鸽。。。

posted on 2023-03-12 23:19  快乐的乙炔  阅读(0)  评论(0)    收藏  举报  来源