Solution Exercice 53: algorithme python qui détermine tous les nombres premier dans un intervalle donné

exercice-53-algorithme python qui récupère la liste des nombres premiers contenu dans un segment donné

Exercice 53

Écrire un algorithme en Python sous forme de fonction qui prends deux nombres m et n en paramètres (m<n) et qui renvoie une liste formée de tous les nombres premiers compris entre m et n. Exemple pour m=10 et n=20 la fonction doit renvoyer [11 , 13 , 17 , 19].

Solution




#coding: utf-8
def primNumber(n):
    # initialiser le nombre de diviseurs de n
    numberOfDivisors = 0
    for i in range(1,n+1):

        # tant que i est un diviseur de n on incrémente le nombre de numberOfDivisors
        if n%i == 0:
            numberOfDivisors = numberOfDivisors + 1
    # le nombre n est premier si et seulement si numberOfDivisors == 2
    if numberOfDivisors == 2:
        return True
    else:
        return False

# maintenant on peut trouver l'ensemble des nombres premiers dans contenus dans l'intervalle [m,n]
def listPrimNumbers(m,n):
    listPrim = []
    for i in range(m , n+1):

        # on test si i est premier ou non
        if (primNumber(i)):
            # on ajoute i à listPrim
            listPrim.append(i)
    return listPrim

# Testons la fonction
print(listPrimNumbers(10,20))
# La sortie est :  [11, 13, 17, 19]




Younes Derfoufi
CRMEF OUJDA

1 thought on “Solution Exercice 53: algorithme python qui détermine tous les nombres premier dans un intervalle donné

Leave a Reply