Pomyliłeś się w sprawdzeniu, które nie było wcale potrzebne:
while((a<=0) || (a>10000))
Poza tym tam można by użyć pętli do … while żeby uniknąć redundancji kodu.
Mam kilka uwag. Sprawdzanie czy liczba jest pierwsza możesz wydzielić do osobnej funkcji. Nie używaj zmiennych globalnych. Używanie jednoliterowych nazw jest złym pomysłem - utrudnia czytanie i korzystanie z kodu. Zamiast <math.h> dołączaj < cmath > (raczej nie używamy zdeprecjonowanych/przestarzałych nagłówków z C). Poczytaj o typie bool.
Przykład:
#include <iostream>
#include <cmath>
bool is_prime(int number)
{
if (number < 2) {
return false;
}
// ...
}
int main()
{
int tests;
std::cin >> tests;
for (int i = 0; i < tests; i++)
{
int number;
std::cin >> number;
std::cout << (is_prime(number) ? "TAK" : "NIE") << "\n";
}
}