Exercice 33
On dit que deux nombres premiers p et q sont des nombres premiers jumeaux si leur différence q - p = 2. Exemple: les couples suivants sont formé des nombres premiers jumeaux (3 , 5) , (5 , 7), (11, 13). par contre (13, 17), (19, 23) sont des couples d'entiers premiers qui ne sont pas jumeaux!
Ecrire un algorithme sous forme de fonction qui détermine la liste des couples d'entiers premiers jumeaux inférieur ou égaux à 1000.
Solution
# fonction qui teste la primalité d'un nombre def test_prim(n): # initialisation du nombr de diviseurs de n d = 0 for k in range(2, n): if n%k == 0: d = d + 1 # un nombre est premier s'il ne possède aucun diviseur strict 1 < K < n if d > 0 : return False else: return True # fonction qui détermine la liste des nombres sont premiers jumeaux <= n def premiers_jumeaux(n): # initialisation de la liste des nombres premiers jumeaux list_jumeaux = [] for p in range(1, n): if test_prim(p) and test_prim(p+2): list_jumeaux.append((p, p+2)) return list_jumeaux # Exemple n = 1000 print(premiers_jumeaux(n)) """ output: [(1, 3), (3, 5), (5, 7), (11, 13), (17, 19), (29, 31), (41, 43), (59, 61), (71, 73), (101, 103), (107, 109), (137, 139), (149, 151), (179, 181), (191, 193), (197, 199), (227, 229), (239, 241), (269, 271), (281, 283), (311, 313), (347, 349), (419, 421), (431, 433), (461, 463), (521, 523), (569, 571), (599, 601), (617, 619), (641, 643), (659, 661), (809, 811), (821, 823), (827, 829), (857, 859), (881, 883)] """
Younes Derfoufi
CRMEF OUJDA
1 thought on “Solution Exercice 33: nombres premiers jumeaux en Python”