Robie zadanie z Spoj.com
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.
Example
Input:
3
11
1
4
Output:
TAK
NIE
NIE
I wyskakuje mi taki błąd kompilacji: (SIGSEGV) Przez co nie mogę mieć zaliczonego tego zadania.
#include <iostream>
using namespace std;
int main()
{
unsigned long n = 0;
int tab[n];
cin >> n;
if(n >= 1 && n < 100000)
{
int i = 0;
cin >> tab[i];
while(i < n - 1){
++i;
cin >> tab[i];
}
}
for(int i = 0; i < n; ++i)
{
if(tab[i] == 2 || tab[i] == 5 || tab[i] == 3)
{
cout << "TAK" << endl;
}else if(tab[i] == 1 || tab[i] == 0 || tab[i] % 2 == 0 || tab[i] % 3 == 0 || tab[i] % 5 == 0){
cout << "NIE" << endl;
}else{
cout << "TAK" << endl;
}
}
}