Énoncé
Saisir un entier N strictement positif avec une saisie contrôlée. Écrire une fonction Premier qui retourne Vrai si N est premier, Faux sinon, puis afficher ce résultat. Un nombre premier a exactement deux diviseurs positifs : 1 et lui-même.
Exemples et cas limites
Saisissez ces valeurs dans la console pour vérifier votre résultat :
Entrée
N = 29
Sortie attendue
Vrai
Entrée
N = 49
Sortie attendue
Faux
Entrée
N = 1
Sortie attendue
Faux
Entrée
N = 2
Sortie attendue
Vrai
Entrée
N = -7 N = 29
Sortie attendue
Vrai
Complétez les modules marqués par un commentaire dans le code de départ. Les modules déjà écrits permettent de saisir vos données. Exécutez les cas de test et comparez la sortie attendue, ou ouvrez directement l’onglet Correction.
Code algorithmique
| 1 | algorithme nombre_premier |
| 2 | debut |
| 3 | saisir(n) |
| 4 | ecrire_nl(premier(n)) |
| 5 | fin |
| 6 | |
| 7 | procedure saisir(@n : entier) |
| 8 | debut |
| 9 | repeter |
| 10 | ecrire("N = ") |
| 11 | lire(n) |
| 12 | jusqua n ≥ 1 |
| 13 | fin |
| 14 | |
| 15 | fonction premier(n : entier) : booleen |
| 16 | debut |
| 17 | // compléter le traitement demandé dans l’énoncé. |
| 18 | retourner faux |
| 19 | fin |
| 1 | algorithme nombre_premier |
| 2 | debut |
| 3 | saisir(n) |
| 4 | ecrire_nl(premier(n)) |
| 5 | fin |
| 6 | |
| 7 | procedure saisir(@n : entier) |
| 8 | debut |
| 9 | repeter |
| 10 | ecrire("N = ") |
| 11 | lire(n) |
| 12 | jusqua n ≥ 1 |
| 13 | fin |
| 14 | |
| 15 | fonction premier(n : entier) : booleen |
| 16 | debut |
| 17 | si n = 1 alors |
| 18 | retourner faux |
| 19 | fin si |
| 20 | pour d de 2 à ent(racine_carree(n)) faire |
| 21 | si n mod d = 0 alors |
| 22 | retourner faux |
| 23 | fin si |
| 24 | fin_pour |
| 25 | retourner vrai |
| 26 | fin |
Méthode
- Redemander N jusqu’à N ≥ 1. Pour N = 1, retourner Faux.
- Chercher un diviseur entre 2 et la partie entière de la racine carrée de N. Si un diviseur existe, retourner Faux ; sinon retourner Vrai.