#20429: RE(segmentation fault)


walker19576@gmail.com (L0u15)

學校 : 臺北市私立薇閣高級中學
編號 : 96112
來源 : [111.235.252.27]
最後登入時間 :
2023-06-05 13:50:25
a121. 質數又來囉 | From: [36.227.14.65] | 發表日期 : 2020-01-21 09:19

請問該怎麼改

#include<iostream>
#include<cmath>
using namespace std;

unsigned int long ge[50000200],a,b;
bool prime[100000002];
void Is_prime(unsigned long int a){
for(unsigned int i=a;i<=100000000;i+=a){
prime[i]=true;
}
}

int main()
{
ios::sync_with_stdio(false);
unsigned long int count=0;
int st,fi;
bool find;
Is_prime(2);
Is_prime(3);
for(unsigned long int i=2;i<=100000000;++i){
if(prime[i]==false){
find=true;
for(int j=2;j<=sqrt(i);++j)
if(i%j==0){
find=false;
break;
}
if(find==true){
Is_prime(i);
}
}
}
for(unsigned long int i=2;i<=100000000;++i)
if(prime[i]==false){
ge[count]=i;
++count;
}
while(cin>>a>>b){
if(b<a)
swap(a,b);
for(unsigned int i=0;i<count;++i)
if(ge[i]>=a||i==count-1){
st=i;
break;
}
for(unsigned int i=st;i<count;++i)
if(ge[i]>b||i==count-1){
fi=i;
break;
}
cout<<fi-st<<endl;
}
return 0;
}

 
ZeroJudge Forum