Programme C ++ pour afficher les nombres premiers entre deux intervalles

Exemple pour imprimer tous les nombres premiers entre deux nombres (saisis par l'utilisateur) dans la programmation C ++. Ce problème est résolu en utilisant la boucle imbriquée for et l'instruction if… else.

Pour comprendre cet exemple, vous devez avoir la connaissance des rubriques de programmation C ++ suivantes:

  • C ++ if, if… else et Nested if… else
  • C ++ pour Loop
  • Instruction C ++ break and continue

Exemple # 1: afficher les nombres premiers entre deux intervalles

 #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; ) 

Production

 Entrez deux nombres (intervalles): 0 20 Les nombres premiers entre 0 et 20 sont: 2 3 5 7 11 13 17 19

Dans ce programme, la whileboucle est répétée (high - low - 1)fois.

Dans chaque itération, si bas est un nombre premier ou non est vérifié et la valeur de bas est incrémentée de 1 jusqu'à ce que bas soit égal à haut.

Visitez cette page pour en savoir plus sur la façon de vérifier si un nombre est premier ou non.

Si l'utilisateur entre d'abord un plus grand nombre, ce programme ne fonctionne pas comme prévu. Vous pouvez résoudre ce problème en échangeant les nombres si l'utilisateur entre d'abord un plus grand nombre.

Exemple # 2: Afficher les nombres premiers lorsque le plus grand nombre est entré en premier

 #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; ) 

Production

 Entrez deux nombres (intervalles): 20 0 Les nombres premiers entre 0 et 20 sont: 2 3 5 7 11 13 17 19

Visitez cette page pour savoir comment afficher tous les nombres premiers entre deux intervalles à l'aide de la fonction définie par l'utilisateur.

Articles intéressants...