Exercice 35
Ecrire un algorithme en python qui prend en entrée un nombre entier n et qui renvoie et affiche la liste des entiers parfaits et inférieures ou égaux à n.
Un nombre parfait est un entier positif dont la somme de ses diviseurs propres (excluant le nombre lui-même) est égale à ce nombre.
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 |
def parfait(n): # Fonction qui vérifie si un nombre est parfait diviseurs = [] # Initialise une liste vide pour stocker les diviseurs for i in range(1, n): if n % i == 0: diviseurs.append(i) # Ajoute le diviseur à la liste s'il est propre return sum(diviseurs) == n # Renvoie True si la somme des diviseurs est égale au nombre def liste_nombres_parfaits(n): # Fonction qui génère la liste des nombres parfaits jusqu'à n nombres_parfaits = [] # Initialise une liste vide pour stocker les nombres parfaits for i in range(2, n + 1): if parfait(i): nombres_parfaits.append(i) # Ajoute le nombre parfait à la liste return nombres_parfaits # Exemple d'utilisation nombre_entier = 1000 resultat = liste_nombres_parfaits(nombre_entier) print(f"Nombres parfaits inférieurs ou égaux à {nombre_entier} sont : {resultat}") """ output: Les nombres parfaits inférieurs ou égaux à 1000 sont : [6, 28, 496] """ |
Younes Derfoufi
CRMEF OUJDA
1 thought on “Solution Exercice 35 : liste des nombres parfaits en python”