#23352: c++不知道錯在哪?


DE45A (一葉之秋)

學校 : 新北市立板橋高級中學
編號 : 68688
來源 : [1.172.153.123]
最後登入時間 :
2024-05-14 23:10:06
a702. Cousin Primes | From: [1.172.150.32] | 發表日期 : 2020-11-09 20:18

#include<bits/stdc++.h> 

using namespace std;

int p[5000039];

vector<int>v;

struct S{

int a,b;

}s[100039];

void miku(int n){

for(int i=2;i<n;++i){

if(p[i]==0)v.push_back(i);

for(int j:v){

if(i*j>n)break;

p[i*j]=1;

if(i%j==0)break;

}

}

}

bool isprime(int n){

for(int j:v){

if(n%j==0)return false;

if(j>sqrt(n)+1)return true;

}

return true;

}

int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);

miku(5000039);

int t=0,l,i,j;

for(int j:v){

if(p[j]==0&&p[j+4]==0)s[t].a=j,s[t++].b=j+4;

}

for(i=83336,l=5000011;t<=100000;++i){

j=6*i-1;

if(j-l==4&&isprime(j))s[t].a=l,s[t++].b=j,l=j;

else l=j;

j=6*i+1;

if(j-l==4&&isprime(j))s[t].a=l,s[t++].b=j,l=j;

else l=j;

}

while(cin>>i)cout<<"("<<s[i-1].a<<", "<<s[i-1].b<<")\n";

}

 
ZeroJudge Forum