Nombres premiers

Contexte

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é.

Environnement de travail

Pour cet exercice, vous devez créer un fichier ex03-premiers.py.

Objectifs

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.

Informations complémentaires

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