Exercice 91
Ecrire un algorithme en langage python qui détermine la liste list_2_prim des entiers composés de 3 chiffres dont au moins 2 chiffres sont premiers entre eux.
Exemple: 356 est dans la liste list_2_prim car 3 et 5 sont premiers entre eux et 248 n'appartient pas à la liste car aucun des chiffres n'est premier avec l'autre.
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 36 37 38 39 |
# fonction qui teste si deux nombres sont premiers entre eux def premiers_entre_eux(m,n): # algorithme d'euclide pour trouver le dernier reste non nul while n != 0: m , n = n , m%n return m == 1 def au_moins_deux_premiers_entre_eux(chiffres): """Vérifie si au moins deux des trois chiffres sont premiers entre eux""" # Test des trois paires possibles return (premiers_entre_eux(chiffres[0], chiffres[1]) or premiers_entre_eux(chiffres[0], chiffres[2]) or premiers_entre_eux(chiffres[1], chiffres[2])) def liste_nombres_3chiffres_avec_2_premiers_entre_eux(): """Retourne la liste des nombres à 3 chiffres répondant à la condition""" resultat = [] for nombre in range(100, 1000): # Tous les nombres à 3 chiffres # Extraire les chiffres centaines = nombre // 100 dizaines = (nombre // 10) % 10 unites = nombre % 10 chiffres = [centaines, dizaines, unites] if au_moins_deux_premiers_entre_eux(chiffres): resultat.append(nombre) return resultat # Exemple d'utilisation: list_2_prim = liste_nombres_3chiffres_avec_2_premiers_entre_eux() # Affichage des premiers résultats pour vérification print(f"Exemples de nombres dans la liste : {list_2_prim[:20]}...") print(f"356 est dans la liste : {356 in list_2_prim}") # Devrait être True (3 et 5 sont premiers entre eux) print(f"248 est dans la liste : {248 in list_2_prim}") # Devrait être False print(f"Nombre total de nombres trouvés : {len(list_2_prim)}") |
output:
|
1 2 3 4 |
Exemples de nombres dans la liste : [100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119]... 356 est dans la liste : True 248 est dans la liste : False Nombre total de nombres trouvés : 748 |
Auteur : Younes Derfoufi
Lieu de travail : CRMEF OUJDA
Site Web : www.tresfacile.net
Chaine YouTube : https://www.youtube.com/user/InformatiquesFacile
Me contacter : https://www.tresfacile.net/me-contacter/



