Retour aux défis
Moyen 0 résolus 0 % de réussite

Somme des chiffres puissancés

Additionnez chaque chiffre élevé à la puissance de sa position depuis la gauche.

Ce que vous allez apprendre

  • Découper un nombre en chiffres de gauche à droite
  • Élever chaque chiffre à une puissance selon sa position
  • Accumuler un total dans une boucle

Problème

Numérotez les chiffres de n en partant de la gauche, en commençant à 1. Élevez chaque chiffre à la puissance de sa position, puis additionnez les résultats. Pour 352, cela donne 3¹ + 5² + 2³. Un chiffre zéro ajoute 0.

Implémentez digit_power_sum(n).

Entrée

n : Un entier positif.

Sortie

Retournez la somme des chiffres ainsi puissancés.

Contraintes

1 ≤ n ≤ 1 000 000 000

Exemples

Exemple 1
Entrée :
n = 352

Sortie attendue :
expected = 36
Entrée :
long long n = 352;

Sortie attendue :
long long expected = 36;
Entrée :
long n = 352;

Sortie attendue :
long expected = 36;

Explication

3¹ + 5² + 2³ = 3 + 25 + 8 = 36.

Exemple 2
Entrée :
n = 89

Sortie attendue :
expected = 89
Entrée :
long long n = 89;

Sortie attendue :
long long expected = 89;
Entrée :
long n = 89;

Sortie attendue :
long expected = 89;

Explication

8¹ + 9² = 8 + 81 = 89, le nombre lui-même.

Comment l'aborder

Essayez d'abord seul, puis ouvrez les indices un par un.

Indice 1

Parcours le nombre chiffre par chiffre de gauche à droite et garde la position de chaque chiffre.

Indice 2

Convertis le nombre en chaîne, ou détermine autrement l’index de gauche à droite avant de combiner chaque chiffre avec sa position.

Indice 3

Souviens-toi qu’un chiffre 0 n’apporte rien, mais que sa position compte quand même pour l’exposant.

Complexité attendue

temps O(d), espace supplémentaire O(1)

Apprenez des autres

Solutions de la communauté

Aucune solution publiée pour l'instant. Résolvez ce défi pour partager la première.