求助,全局变量顺序还能导致RE?为啥改个顺序就好了?
查看原帖
求助,全局变量顺序还能导致RE?为啥改个顺序就好了?
552321
YIVI楼主2022/11/2 00:51
#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;

//这两个换一下顺序就ac了,有大佬知道原因吗?
int prime[1000000];
bool jg[100000000];

int main(){
    std::ios::sync_with_stdio(false);
    
    memset(jg,1,sizeof(jg));
    
    int n,q;
    int k;
    cin>>n>>q;
    
    int c = 0;
    for(int i = 2;i<=n;i++){
        if(jg[i]){
            prime[c++] = i;
        }
        for(int j = 0;j<c&&prime[j]*i<=n;j++){
            jg[prime[j]*i]=0;
            if(i%prime[j]==0){
                break;
            }
        }
    }
    
    for(int i = 0;i<q;i++){
        cin>>k;
        cout<<prime[k-1]<<endl;
    }
    return 0;
}

这是为什么?

2022/11/2 00:51
加载中...