Witam, robie zadanie z polskiego SPOJ, czy mógłby mi ktoś pomóc znaleźć błąd? Treść zadania:
Sprawdź, które spośród danych liczb są liczbami pierwszymi
Input
n - liczba testów n<100000, w kolejnych liniach n liczb z przedziału [1..10000]
Output
Dla każdej liczby słowo TAK, jeśli liczba ta jest pierwsza, słowo: NIE, w przeciwnym wypadku.
Kod:
#include <iostream>
using namespace std;
int main()
{
unsigned int n, liczba;
cin >> n;
for(int i = 1; i <= n; i++)
{
bool czy_pierwsza = true;
cin >> liczba;
for(int k = 2; k <= 9; k++)
{
if((liczba!=k)&&(liczba%k==0)||(liczba==1))
czy_pierwsza = false;
}
if(czy_pierwsza == true)
cout << "TAK" << endl;
else cout << "NIE" << endl;
liczba = 0;
}
return 0;
}