0分RE求助调试(悬关)
查看原帖
0分RE求助调试(悬关)
300166
Zikl楼主2023/11/14 00:34
#include<iostream>
#include<queue>
#include<cstdio>
#include<bitset>
#include<cstring>
#define int long long
#define F(i,a,b) for(int i=(a);i<=(b);i++)
using namespace std;
const int N=1e8+2,M=1e6+5;
int read(){
    int x=0,f=1;char c=getchar();
    while(c<'0'||c>'9'){if(c=='-') f=-1;c=getchar();}
    while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}
    return x*f;
}
int n,q,prime[M],tot;
bitset <N> a;
signed main(){
    n=read(),q=read();
    for(int i=2;i<=n;i++){
        if(!a[i]) a[i]=1,prime[++tot]=i;
        for(int j=1;j<=tot&&i*prime[j]<=n;j++){
            a[i*prime[j]]=1;
            if(i%prime[j]==0) break;
        }
    }
    while(q--){
        int k=read();
        printf("%d\n",prime[k]);
    }
	return 0;
}

调了挺久就是找不到哪错了qwq。

2023/11/14 00:34
加载中...