Niepoprawny kod dotyczący liczb pierwszych dla SPOJa

Niepoprawny kod dotyczący liczb pierwszych dla SPOJa
WO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 14
0

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

Kopiuj
#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;
} 
szweszwe
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 1694
1

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

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0

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

babubabu
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Łódź
  • Postów: 648
0

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

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0

W C++ też jest gotowiec.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.