Mittel 0 gelöst 0% Erfolgsquote

Ziffern-Potenzsumme

Addiere jede Ziffer, potenziert mit ihrer Position von links.

Das lernst du

  • Eine Zahl von links nach rechts in Ziffern zerlegen
  • Jede Ziffer mit einer positionsabhängigen Potenz versehen
  • Eine Summe in einer Schleife aufbauen

Problem

Nummeriere die Ziffern von n von links, beginnend bei 1. Hebe jede Ziffer auf die Potenz ihrer Position und addiere die Ergebnisse. Für 352 ist das 3¹ + 5² + 2³. Eine Null als Ziffer trägt 0 bei.

Implementiere digit_power_sum(n).

Eingabe

n: Eine positive ganze Zahl.

Ausgabe

Gib die Summe der potenzierten Ziffern zurück.

Einschränkungen

1 ≤ n ≤ 1.000.000.000

Beispiele

Beispiel 1
Eingabe:
n = 352

Erwartete Ausgabe:
expected = 36
Eingabe:
long long n = 352;

Erwartete Ausgabe:
long long expected = 36;
Eingabe:
long n = 352;

Erwartete Ausgabe:
long expected = 36;

Erläuterung

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

Beispiel 2
Eingabe:
n = 89

Erwartete Ausgabe:
expected = 89
Eingabe:
long long n = 89;

Erwartete Ausgabe:
long long expected = 89;
Eingabe:
long n = 89;

Erwartete Ausgabe:
long expected = 89;

Erläuterung

8¹ + 9² = 8 + 81 = 89, die Zahl selbst.

So gehst du vor

Versuch es zuerst allein und öffne dann einen Hinweis nach dem anderen.

Hinweis 1

Gehe die Zahl Ziffer für Ziffer von links nach rechts durch und behalte die Position jeder Ziffer im Blick.

Hinweis 2

Wandle die Zahl in einen String um oder bestimme sonst den Index von links nach rechts, bevor du Ziffer und Position kombinierst.

Hinweis 3

Eine 0 trägt nichts bei, aber ihre Position zählt trotzdem für den Exponenten.

Erwartete Komplexität

Zeit O(d), zusätzlicher Speicher O(1)

Von anderen lernen

Community-Lösungen

Noch keine veröffentlichten Lösungen. Löse die Aufgabe und teile als Erster eine Lösung.