Un nombre premier est un entier naturel qui admet exactement deux diviseurs distincts entiers et positifs. Ces deux diviseurs sont 1 et le nombre considéré.
Pour cet exercice, vous devez créer un fichier ex03-premiers.py
.
Ecrivez le code permettant de vérifier si un entier p
est un nombre premier ou pas. Dans une première version le nombre à tester peut être défini directement dans le code lui même.
Dans une version plus avancée, la fonction input()
peut être utilisée pour rentrer les données interactivement au clavier. Elle retourne une chaîne de caractères.
Pour rechercher (naïvement) si un nombre p
est premier, on peut utiliser le pseudo code suivant::
premier = True
POUR chaque diviseur d potentiel :
si p est divisible par d :
premier = False
on interrompt le parcours de la boucle
FIN POUR
L’objet range
produit une séquence de nombres entiers.
On peut limiter le nombre de diviseurs potentiels à ceux qui sont inférieurs à \(\sqrt{p}\).
Une écriture alternative peut utiliser la construction for/else
dont le bloc else
est exécuté seulement si le parcours de la boucle n’a pas été interrompu.
L’affichage doit ressembler à :
$ python ex03_premiers.py
731 = 17 x 43 : False
$ python ex03_premiers.py
733 : True