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
Post Views: 5 144
1 thought on “Solution Exercice 53: algorithme python qui détermine tous les nombres premier dans un intervalle donné”