请问Python写的线性筛能通过这道题嘛
查看原帖
请问Python写的线性筛能通过这道题嘛
54227
Phecda楼主2020/9/8 21:23

我是用C++的习惯写的Python(就是翻译了过去

但是我提交后发现它全都MLE了,查了一下Python的数据类型大小感觉没有MLE,是因为有什么我不知道特性存在嘛

代码如下:

N = int(1e8+7)
vis = [bool(0)]*N
v = []
vis[1] = True
n,T = map (int,input().split())
for i in range ( 2 , n + 1 ) :
    if ( vis[i] == False ) :
        v.append ( i )
    L = len ( v )
    for j in range ( L ) :
        if ( i * v[j] > N ) : break
        vis[i*v[j]] = True
        if ( i % v[j] == 0 ) : break
v = set ( v )
v = list ( v )
for i in range ( T ) :
    x = int(input())
    print ( int(v[x-1]) )

2020/9/8 21:23
加载中...