Exercice 76
Ecrire un algorithme en python sous forme de fonction qui prends en paramètres un entier naturel n et qui renvoie la liste des nombres premiers dont le chiffre des dizaines est premier.
Exemple pour n = 100 , l'algorithme renvoie la liste: [23, 29, 31, 37, 53, 59, 71, 73, 79]
Solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# coding: utf-8 # fonction qui teste la primalité d'un nombre def testPrim(n): # On initialise le nombre de diviseur de n à 0 numberOfDivisors = 0 for i in range(1,n+1): # tant que i est un diviseur de n on incrémente le nombre de diviseurs: 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 """fonction qui détermine la liste des nombres premiers dont le chiffre des dizaines est premier """ def listPrim(n): # initialisation de la liste des nombres premiers listPrimNumbers = [] for p in range(1 , n): # chiffre des dizaines de p p_dizaines = p//10 if testPrim(p) and testPrim(p_dizaines): listPrimNumbers.append(p) return listPrimNumbers # Exemple n = 100 print(listPrim(n)) # affiche: [23, 29, 31, 37, 53, 59, 71, 73, 79] |
Younes Derfoufi
CRMEF OUJDA
1 thought on “Solution Exercice 76: nombres premiers dont le chiffre des dizaines est premier en Python”