Arithmétique

Tester un nombre premier

É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

nombre_premier.algo
1algorithme nombre_premier
2debut
3 saisir(n)
4 ecrire_nl(premier(n))
5fin
6
7procedure saisir(@n : entier)
8debut
9 repeter
10 ecrire("N = ")
11 lire(n)
12 jusqua n ≥ 1
13fin
14
15fonction premier(n : entier) : booleen
16debut
17 // compléter le traitement demandé dans l’énoncé.
18 retourner faux
19fin

Méthode

  1. Redemander N jusqu’à N ≥ 1. Pour N = 1, retourner Faux.
  2. 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.
À retenir :

1 n’est pas premier : il n’a qu’un diviseur positif. Pour 49, le diviseur 7 suffit à retourner Faux. ENT(RACINE_CARREE(N)) donne la borne entière de la boucle ; au-delà, les diviseurs sont associés à des diviseurs déjà testés.