Heim > Artikel > Backend-Entwicklung > Ermitteln Sie rekursiv die Summe der Ziffern von n^x, wobei n und x beide sehr groß sind, implementiert mit C++
Wir erhalten positive Ganzzahlvariablen „num“ und „x“. Die Aufgabe besteht darin, num^x rekursiv zu berechnen und dann die Ziffern der resultierenden Zahlen zu addieren, bis einzelne Ziffern erreicht sind. Die resultierenden einzelnen Ziffern werden als Ausgabe ausgegeben.
Eingabe − int num = 2345, int x = 3
Ausgabe − Rekursive Summe ^x von Zahlen in n , wobei n und x sehr groß sind : 8
Erläuterung− Wir erhalten positive ganzzahlige Werte num und x mit dem Wert 2345 und der Potenz 3. Berechnen Sie zunächst 2345^3, was 12.895.213.625 entspricht. Jetzt addieren wir diese Zahlen, also 1 + 2 + 8 + 9 + 5 + 2 + 1 + 3 + 6 + 2 + 5, also 44. Jetzt addieren wir 4 + 4, also 8. Da wir einstellige Zahlen erreicht haben, beträgt die Ausgabe 8.
Eingabe− int num = 3, int x = 3
Ausgabe − Rekursive Summe von Zahlen in n^x, wobei n und x sehr groß sind: 9
Erklärung− Wir erhalten positive ganze Zahlen The Werte num und x, der Wert ist 3 und die Potenz ist 3. Berechnen Sie zuerst 3^3, also 9. Da wir bereits die einzelnen Ziffern erhalten haben, beträgt die Ausgabe 9 und es sind keine weiteren Berechnungen erforderlich.
Geben Sie die Ganzzahlvariablen num und x ein und übergeben Sie die Daten zur weiteren Verarbeitung an die Funktion Recursive_Digit(num, x).
deklarieren Sie die Variable „total“ als lang und legen Sie fest, dass sie die Funktion „total_digits(num)“ aufruft, die die numerische Summe der als Argumente übergebenen Zahlen zurückgibt.
Deklarieren Sie die Variable als temp vom Typ long und setzen Sie sie mit einer %-Potenz von 6.
Überprüfen Sie, ob Gesamt = 3 ODER Gesamt = 6 UND Leistung > 1 und geben Sie 9 zurück.
ELSE IF, Potenz = 1, dann Gesamtsumme zurückgeben.
ELSE IF, Potenz = 0 und Rückgabe 1.
ELSE IF, temp - 0 Dann Rückkehr mit Aufruf von total_digits((long)pow(total, 6))
Ansonsten Rückgabe von total_digits((long)pow(total, temp)).
Interne Funktion long Total_digits(long num)
prüft, ob num = 0 und gibt 0 zurück. Überprüfen Sie IF, num % 9 = 0 und geben Sie 9 zurück.
Andernfalls geben Sie num % 9 zurück
Das obige ist der detaillierte Inhalt vonErmitteln Sie rekursiv die Summe der Ziffern von n^x, wobei n und x beide sehr groß sind, implementiert mit C++. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!