#include <iostream>
using namespace std;
bool wyn[5000];
int main()
{
ios_base::sync_with_stdio(0);
long long licz;
int ile;
cin>>licz>>ile;
for(int i=0; i<ile; i++)
{
wyn[i]=0;
long long liczba;
cin>>liczba;
long long a=1;
for(int l=1; l<=licz; l++)
{
a=((l%liczba)*a)%liczba;
if(a==0)
{
wyn[i]=1;
break;
}
}
}
for(int i=0; i<ile; i++)
{
if(wyn[i]==1)
{
cout<<"TAK"<<endl;
}
else
{
cout<<"NIE"<<endl;
}
}
return 0;
}
Program ma za zadanie sprawdzać czy dana liczba jest dzielnikiem silnii. Klasycznie "u mnie wszystko działa", natomiast w systemie sprawdzającym wyskakują takie błędy:
smieci na koncu pliku: 'NIE', oczekiwano EOF
smieci na koncu pliku: 'TAK', oczekiwano EOF
Czyli program wyrzuca zbyt dużo odpowiedzi, chociaż przy testach ręcznych "wszystko działa". Proszę o pomoc w znalezieniu błędu w kodzie, ew. jeżeli ktoś miałby jakiś pomysł to prosiłbym również o pomoc w optymalizacji kodu ;).