全re了!求助!
查看原帖
全re了!求助!
549617
华悦泽楼主2021/12/13 22:34
#include <bits/stdc++.h>
using namespace std;
int prime[100005];
bool isprime[100005];
int tmp,n,q;
void euler(){
    memset(isprime,1,sizeof isprime);
    isprime[0]=0;
    isprime[1]=0;
    for(int i=2;i<=n;i++){
        if(isprime[i])
			prime[++tmp]=i;
        for(int j=1;prime[j]*i<=n&&j<=tmp;j++){
            isprime[i*prime[j]]=0;
            if(i%prime[j]==0) break;
        }
    }
    
}
int main()
{
    cin>>n>>q;
    euler();
    for(int i=1;i<=q;i++){
        int k;
        cin>>k;
        cout<<prime[k]<<endl;
    }
    

    return 0;
}

2021/12/13 22:34
加载中...