大致意思:有一个变量P为从i开始(包括i)到2的所有质数若i为质数从ii开始每次加P一直到n标记为合数。
程序在下面,请大佬观摩。```cpp
#include<bits/stdc++.h>
using namespace std;
bool b[100000001];
vector a;
int main()
{
int n,q,x;
unsigned long long p=1;
cin>>n>>q;
b[1]=1;
for(int i=2;ii<=n;i++)
{
if(b[i]==0)
{
a.push_back(i);
if(pi>n)
{
break;
}
p=i;
for(int j=i*i;j<=n;j+=p)
{
b[j]=1;
}
}
}
for(int i=1;i<=q;i++)
{
cin>>x;
cout<<a[x-1]<<endl;
}
return 0;
}
(不知道为啥不对)