Salve, ho creato un programma che verifica se un numero naturale inserito da tastiera è primo, sapete come un modo per non fare eseguire la divisione più volte se un numero risulta essere primo? Non so se sono stato chiarissimo, in pratica se inserisco 359, lui esegue 357 calcoli, e sono tanti, sapete come rimediare?
Codice:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
float reale;
int N;
do
{
cout << "Inserire un numero: ";
cin >> reale;
N = reale;
}
while(!(N == reale && N > 0));
int divisione = 2;
bool primo = true;
while(divisione < N)
{
if(N%divisione == 0)
{
primo = false;
break;
}
divisione++;
}
if(primo)
cout << endl << N << " e primo " << endl;
else
cout << endl << N << " non e primo " << endl;
}