In questo piccolo tutorial vi spiegherò come verificare se un numero è primo oppure no.
Iniziamo con il creare di una funzione, è molto comoda. Innanzitutto cominciamo a immaginare
come impostare la funzione: che argomenti dobbiamo dichiarare?? Il numero ovvio! Ad esempio
noi dovremmo richiamare la funzione in questo modo: Controllo_Num_Primo(15) e la funzione ci
dovrà dire se è VERO o FALSO. Quindi la funzione restituirà un valore di tipo Boolean ovvero
o true o false. Iniziamo quindi con la prima riga:

bool numero_primo(int number){

ecco qui: quando dobbiamo richiamare la funzione dobbiamo fornirgli un numero di tipo int.
Allora riflettiamo: un numero è primo se è divisibile soltanto per 1 e per se stesso. Interessante.
Dichiaramo una variabile che ci farà da contatore scrivendo:

int counter=0;

Dopodichè creiamo un ciclo for che faccia incrementare la variabile i (che dichiareremo) sempre di 1
fino a che "i" non sia uguale al numero da scomporre. Scriviamo:

for(int i=1;i<number+1;i++){

e poi facciamo che se il numero dato è divisibile per il valore di "i" incrementiamo il contatore "counter":

if((number%i) == 0)
counter++;

in queste due righe abbiamo scritto che se il resto (si calcola con l'operatore " % ") è uguale a 0 vuol dire
che è divisibile e allora aggiungi 1 al valore di counter.
Ora chiudiamo il ciclo for con la parentesi graffa " } " e andiamo a scrivere la parte finale:

if(counter<=2)
return true;
else
return false;

queste righe sono semplici: vogliono dire che se il counter è minore o uguale a 2 dai alla funzione il valore
true e allora il numero è primo, altrimenti è falso. Abbiamo messo if(counter<=2) perchè abbiamo detto che se
il numero è divisibile per il valore di "i" la variabile doveva essere aumentata di 1. Quindi se è primo sarebbe
aumentata solamente quando "i" valeva 1 e quando "i" valeva lo stesso valore del numero dato. Scrivetemi per chiarimenti
[Occorre essere registrati per visualizzare il link. ]
La funzione completa:

bool numero_primo(int number)
{
int counter=0;
for(int i=1;i<number+1;i++)
{
if((number%i) == 0)
counter++;
}
if(counter<=2)
return true;
else
return false;
}