Algoritmo per il test di primalità:

Si controllano tutti i numeri a partire da 2 fino all'intero della radice del numero.

Se uno di questi numeri divide x allora non è primo, in caso contrario è primo.

Esempio:
codice:
int primo(int x) {
   int tmp = 0;
   int i = (int) sqrt(x);
   int t = 2;
   int trovato = -1;
   if (x < 2) tmp = 1; // 1 non sarebbe primo, ma non discutiamo
   while (t <= i && trovato) {
      trovato = (x % t);
      t++;
   }
   if (trovato) tmp = -1;
   return tmp;
}
Questo dovrebbe essere sufficiente.


Ciao.