Programma C ++ per visualizzare i numeri primi tra due intervalli

Esempio per stampare tutti i numeri primi tra due numeri (inseriti dall'utente) nella programmazione C ++. Questo problema viene risolto utilizzando il ciclo for annidato e l'istruzione if … else.

Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione C ++:

  • C ++ if, if … else e Nested if … else
  • C ++ per Loop
  • Istruzione break and continue in C ++

Esempio # 1: visualizzare i numeri primi tra due intervalli

 #include using namespace std; int main() ( int low, high, i; bool isPrime = true; cout <> low>> high; cout << "Prime numbers between " << low << " and " << high << " are: " << endl; while (low < high) ( isPrime = true; if (low == 0 || low == 1) ( isPrime = false; ) else ( for (i = 2; i <= low / 2; ++i) ( if (low % i == 0) ( isPrime = false; break; ) ) ) if (isPrime) cout << low << " "; ++low; ) return 0; ) 

Produzione

 Immettere due numeri (intervalli): 0 20 I numeri primi compresi tra 0 e 20 sono: 2 3 5 7 11 13 17 19

In questo programma, il whileciclo viene ripetuto (high - low - 1)volte.

In ogni iterazione, viene verificato se low è un numero primo o meno e il valore di low viene incrementato di 1 finché low è uguale a high.

Visita questa pagina per saperne di più su come verificare se un numero è primo o meno.

Se l'utente inserisce prima un numero maggiore, questo programma non funziona come previsto. È possibile risolvere questo problema scambiando i numeri se l'utente inserisce prima un numero maggiore.

Esempio # 2: visualizzare i numeri primi quando viene immesso per primo un numero più grande

 #include using namespace std; int main() ( int low, high, temp, i; bool isPrime; cout <> low>> high; //swapping numbers if low is greater than high if (low> high) ( temp = low; low = high; high = temp; ) cout << "Prime numbers between " << low << " and " << high << " are:" << endl; while (low < high) ( isPrime = true; if (low == 0 || low == 1) ( isPrime = false; ) else ( for (i = 2; i <= low / 2; ++i) ( if (low % i == 0) ( isPrime = false; break; ) ) ) if (isPrime) cout << low << " "; ++low; ) return 0; ) 

Produzione

 Immettere due numeri (intervalli): 20 0 I numeri primi compresi tra 0 e 20 sono: 2 3 5 7 11 13 17 19

Visita questa pagina per scoprire come visualizzare tutti i numeri primi tra due intervalli utilizzando la funzione definita dall'utente.

Articoli interessanti...