Exercice 93
Deux nombres entiers sont dits amis s'ils respectent une condition mathématique spécifique (Exercice 70).
Ecrire un programme Python sous forme de fonction liste_amis() qui prend en paramètre un entier n <=500 et qui renvoie une liste des tuples de nombres (p , q) amicaux qui sont inférieurs ou égaux à n (p <= n et q <= n).
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 |
# fonction qui renvoie la somme des diviseurs propre d'un entier n def sum_divisors(n): # initialiser la somme des diviseurs de n sum = 0 for i in range(1, n): if n%i == 0: sum = sum + i return sum # fonction qui teste si deux nombres sont amis ou non def nombres_amis(m , n): if sum_divisors(m ) == n and sum_divisors(n) == m: return True else: return False # Liste des tuples amis (p,q) tels que p<=n et q <= n avec n>=10000 def liste_amis(n): # initialiser la liste de couples amis L = [] for p in range(1, n): for q in range(p+1, n): if nombres_amis(p,q): L.append((p,q)) return L # Tester l'algorithme n = 500 print("Liste amis : ", liste_amis(n)) # L'algorithme trouve un seul couple: # Liste amis : [(220, 284)] |
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/



