Я пытаюсь внедрить Сито Эратосфена в этот код.Это кодируется с учетом того, что диапазон может составлять 100000 номеров, при этом верхний верхний предел равен 1000000000. Он-лайн эксперт выдает ошибку времени выполнения SIGSEGV.Пожалуйста помоги.
Я попытался уменьшить размер массива до 100. Он все еще не работал.Я уже переключился между локальными и глобальными переменными
int primes[100000]={0}, t, a, b ,i,j,k,l;
int main()
{
cin>>t;
for(i=0;i<t;++i)
{
cin>>a>>b;
if(a!=1)
j=a;
else
j=2;
for(;j<=b;++j) // loop for number count
for(k=j*j;k<=b;k+=j) // loop for finding composites
primes[k-1]=1; //marking out all non primes
for(l=a;l<=b;++l)
{
if(primes[l-1]==0 && l-1!=0)
cout<<l<<endl;
}
}
}
Он отлично работает в моей системе (я использую Dev C ++ 5.11), но он не будет работать с онлайн-судьями.