diff --git a/esercitazioni/numero_primo_ottimizzato.cpp b/esercitazioni/numero_primo_ottimizzato.cpp index ba9165b..a2096e3 100644 --- a/esercitazioni/numero_primo_ottimizzato.cpp +++ b/esercitazioni/numero_primo_ottimizzato.cpp @@ -1,9 +1,8 @@ #include -#include +#include using namespace std; -// TODO: completa int main() { /* struttura dati @@ -12,20 +11,21 @@ int main() { i indice del ciclo for */ int n; + bool primo = true; // assumiamo che n sia primo + cin >> n; if (n>=1 && n<=3) { - cout << "primo" << endl; + cout << n << " รจ primo" << endl; return 0; } if (n%2==0) - return 0; + primo = false; - int max_div = static_cast(n); - for (int i=4; i(sqrt(n)); + for (int i=3; i<=max_div && primo; i+=2) { if (n%i == 0) { primo = false; - break; } } cout << n;