Lucas Willems

LUCAS WILLEMS

Un étudiant de 21 ans passionné par les maths et la programmation

English

Project Euler 16 : solution Python

Article

Voici un résumé de l'énoncé du problème 16 "Power digit sum" du Project Euler (traduction complète en français ici) :

What is the sum of the digits of the number \(2^{1000}\) ?

Compréhension du problème

Reformulons le problème : il nous faut trouver la somme des chiffres du nombre \(2^{1000}\). Pour résoudre ce problème, je ne vois qu'une seule solution qui suit celle proposée par l'énoncé, c'est à dire :

  1. trouver la valeur de \(2^{1000}\)
  2. convertir ce nombre en chaîne de caractères
  3. lire les chiffres 1 par 1 et les additionner
  4. afficher leur somme

Cette solution est relativement simple à mettre en place et permet aussi d'obtenir très rapidement la réponse.

Le programme

Voici le programme Python que nous pouvons utiliser :

puissance = str(2**1000)
resultat = 0
for i in puissance:
    resultat += int(i)
print(resultat)

Le résultat

La réponse à ce problème est 1366.

Recherche

Voici les recherches relatives à cette page :

Commentaires

Qu'en pensez-vous ? Donnez moi votre avis (positif ou négatif) pour que je puisse l'améliorer.