Solution Exercice 33: nombres premiers jumeaux en Python

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

Leave a Reply