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 40 41 42 43 44 45
| def decomposer_nombre(n) :
''' Retourne la liste des chiffres composant le nombre n '''
# Par exemple avec le nombre 2345, cette fonction doit retourner
# [2, 3, 4, 5]
# Pour faire cette fonction :
# - Il faut donc une liste de départ.
# - Utiliser une boucle while.
# - Se servir de la fonction divmod (ou opérateurs // et %).
# - Utiliser la méthode insert de list afin de pouvoir insérer
# chaque chiffre en 1ère position dans la liste.
# - Retourner la liste de départ.
def somme_cinquieme(chiffres) :
'''
Retourne la somme des chiffres mis à l'exposant 5 de l'itérable
chiffres.
'''
# par exemple avec une liste de chiffres comme [2, 3, 4, 5],
# cette fonction doit retourner 4424
# Pour faire cette fonction :
# - Utiliser une simple boucle for afin de parcourir la liste
# des chiffres
# - Obtenir x^n se fait en python avec l'opérateur **
# - Retourner la somme obtenue.
def remarquable_somme_cinqieme() :
'''
Retourne la liste des nombres dont la somme des chiffres à
l'exposant 5 est égal au nombre.
'''
# Pour faire cette fonction :
# - Bien évidemment une liste de départ.
# - Il faut parcourir un simple range avec pour start 10^4 et
# pour stop 10^6
# - Dans cette boucle utiliser les fonctions decomposer_nombre et
# somme_cinquieme afin de vérifier si le retour de
# somme_cinquieme vaut le nombre parcouru, le cas échéant,
# ajouter ce nombre à la liste de départ avec la méthode append.
# - Retourner la liste de départ.
# Finalement ici, faire la somme des nombres retournés par un eppel à la
# fonction remarquable_somme_cinqieme, puis afficher cette somme. |