这个题,五个点全都是RE,代码错在哪里?
#include<cstdio>
#include<vector>
using namespace std;
bool notprime[(int)1e8+1000];
vector<int> prime;
int main(){
int n, q;
scanf("%d %d", &n, &q);
notprime[1] = 1;
for (int i = 2; i <= n; i++){
if(!notprime[i]){
prime.push_back(i);
}
for (auto j : prime){
if(i%j==0||i*j<=n)break;
notprime[i * j] = 1;
}
}
while (q--){
int k;
scanf("%d", &k);
printf("%d\n", prime[k]);
}
return 0;
}
感谢大佬指导!