Cześć,
ja również walczę z tym zadaniem.w języku C++
Mój kod to:
#include <iostream>
using namespace std;
float liczba[3];
int ile;
bool czy_pierwsza(int n)
{
if (n<2)
return false; //gdy liczba jest mniejsza niż 2 to nie jest pierwszą
for (int i = 2; i*i <= n; i++)
if (n%i == 0)
return false; //gdy znajdziemy dzielnik, to dana liczba nie jest pierwsza
return true;
}
int main()
{
int ile;
cin >> ile;
for (int i=0;i<ile;i++)
{
cin >> liczba[i];
if (czy_pierwsza(liczba[i]) && liczba[i] <2)
{
cout << "TAK" << endl;
}
else cout << "NIE" << endl;
}
system("PAUSE");
return 0;
}
sędzia wyrzuca mi :błąd wykonania (SIGSEGV), Podejrzewam, że chodzi o przedział n<1000000 ale pewności nie mam. Z góry dziękuje za wszelkie sugestie.