Zadanie dotyczy sprawdzenia, czy podana liczba jest liczbą pierwszą (
http://pl.spoj.com/problems/PRIME_T/)
Sprawdzałam kod do 100, działa poprawnie, a jednak sędzia w SPOJ twierdzi, że błędna odpowiedź.
Gdzie jest błąd?
#include <iostream>
using namespace std;
int main()
{
int n;
//cout << "Podaj ile testow: " ;
cin>>n;
for(int j=1; j<=n; j++)
{
int liczba, i=1;
float c;
// cout << "Podaj liczbe do sprawdzenia: " ;
cin>>liczba;
if(liczba==2)
cout<<"tak"<<endl;
else if(liczba==1)
cout<<"nie"<<endl;
else
{
do
{
i++;
c=(float)liczba/i;
// cout<<"dla i = "<<i<<" c = "<<c<<endl;
}
while(liczba%i!=0);
if(c==1) //czyli jezeli liczba jest podzielna tylko przez sama siebie
cout<<"tak"<<endl;
else
cout<<"nie"<<endl;
}
}
return 0;
}