Le Nombre de Münchhausen | Python

Exercice PROGRAMMATION Python : Le Nombre de Münchhausen

Alors Champion, savais-tu qu'en Allemagne, il y avait un baron pas comme les autres ? Le baron de Münchhausen est célèbre pour ses récits extravagants, notamment pour s'être élevé dans les airs avec son cheval en se tirant lui-même par sa propre queue de cochon ! Cette fantaisie mathématique donne son nom à un concept tout aussi fascinant en arithmétique : les nombres de Münchhausen, aussi appelés perfect digit-to-digit invariant (PDDI) en anglais.

Un nombre de Münchhausen est un nombre entier naturel qui, lorsqu'il est décomposé en ses chiffres, est égal à la somme de ces mêmes chiffres, chacun élevé à la puissance de lui-même. Pour ces calculs, nous acceptons que 00 = 0.

 

$$ n = d_k b^k + d_{k-1} b^{k-1} + \dots + d_1 b + d_0 = d_k d_k + d_{k-1} d_{k-1} + \dots + d_1 d_1 + d_0 d_0 $$

n=dkbk+dk−1bk−1+…+d1b+d0=dkdk+dk−1dk−1++d1d1+d0d0 .Un calcul élémentaire prouve que n est majoré par 2bb ; dans une base donnée, il n'existe donc qu'un nombre fini de perfect digit-to-digit invariants, dont on peut programmer le calcul. Zéro et un sont des perfect digit-to-digit invariants dans toutes les bases. En base dix, les deux seuls autres perfect digit-to-digit invariants sont 3 435 et 438 579 088 :

33+44+33+55=27+256+27+3125=3435 Par exemple, en base 10 :

  • Le nombre 3435 est un nombre de Münchhausen, car : 3^3 + 4^4 + 3^3 + 5^5 = 27 + 256 + 27 + 3125 = 3435

L'objectif est d'écrire un programme Python qui permet de vérifier si un nombre donné par l’utilisateur est un nombre de Münchhausen. Le programme doit utiliser uniquement des structures conditionnelles et/ou des boucles, mais une contrainte supplémentaire s’ajoute : vous devez utiliser une structure Ternaire (voir Td 01).

Python pandacodeur 1

Correction :

lien YoutuBe : 

 

Si vous avez trouvé les exercices corrigés en  Python de Mr JoëlYk intéressants et utiles, pourquoi ne pas les partager avec d'autres personnes qui pourraient également en bénéficier ? Partagez ce lien sur les réseaux sociaux ou envoyez-le à vos amis et collègues. Vous pourriez aider quelqu'un à améliorer ses compétences en programmation ou à trouver des solutions à des problèmes complexes. N'oubliez pas que la connaissance doit être partagée pour grandir. Merci pour votre soutien et votre partage !

Contact WhatsApp : +237 652027193 | Réaliser Par Joël_Yk

Aucune note. Soyez le premier à attribuer une note !

Ajouter un commentaire

Anti-spam