Niepoprawny kod dotyczący liczb pierwszych dla SPOJa

0

Wyskauje: błędna odpowiedź. Jakaś sugestia od was co tu może być niepoprawnego?

#include <iostream>
using namespace std;

int a,q;
int main()
{
  while(cin>>a)
  {
     if(a<2) cout<<"NIE"<<endl;
    else if(a==2) cout<<"TAK"<<endl;
     else{
        q=0;
        for(int i=2; i<a; i++)
        {
            if(a%i == 0) q=1;
        }
        if(q==1) cout<<"NIE"<<endl;
        else cout<<"TAK"<<endl;
     }
  }
return 0;
} 
1

Może po prostu to, że jako pierwsza jest podawana liczba testów a Ty tutaj masz nieskończoną pętlę.

0

Jak wyżej, poza tym bez sita Eratostenesa - przekroczenie czasu.

0

jak poszperasz na tym forum to nawet gotowca znajdziesz. Wprawdzie w pascalu ale przetłumaczyć nie problem.

0

W C++ też jest gotowiec.

1 użytkowników online, w tym zalogowanych: 0, gości: 1