Heim > Backend-Entwicklung > C++ > Hauptteil

Summieren Sie rekursiv die Summe der Ziffern einer durch wiederholte Additionen gebildeten Zahl, implementiert in C++

王林
Freigeben: 2023-09-02 14:01:06
nach vorne
765 Leute haben es durchsucht

Summieren Sie rekursiv die Summe der Ziffern einer durch wiederholte Additionen gebildeten Zahl, implementiert in C++

Gegeben sind zwei Ganzzahlen „number“ und „repeat“ als Eingabe. Das Ziel besteht darin, die numerische Summe einer eingegebenen Zahl zu berechnen, die so oft wiederholt wird, bis die Summe eine einzige Zahl wird. Fahren Sie auf diese Weise fort, bis die Summe der erhaltenen Zahlen eine einstellige Zahl ergibt. Wenn die eingegebene Zahl 123 ist und Wiederholung = 2 ist, ergibt sich die Summe von 123123 1+2+3+1+2+3=12 Dies ist keine einzelne Ziffer. Nun ist die Summe der Ziffern von 12 1+2=3. Die Ausgabe wird 3 sein.

Schauen wir uns dazu verschiedene Eingabe- und Ausgabeszenarien an

Eingabe− Zahl=32 Wiederholung=3

Ausgabe− Die rekursive Zahlensumme der durch wiederholtes Anhängen gebildeten Zahlen ist: 6

Erläuterung: Die Summe von − 323232 ist 3+2+3+ 2+3+2=15, und die Summe der Ziffern von 15 ist 1+5=6. 6 ist eine einzelne Ziffer, daher ist die Ausgabe 6.

Eingabe− Zahl=81 Wiederholung=4

Ausgabe−Die rekursive Summe der durch wiederholtes Anhängen gebildeten Zahlen ist: 9

Erklärung - Die Summe der Zahlen von 81818181 ist 1+8+1 +8+1 +8+1+ 8=36, die Summe der Ziffern von 36 ist 3+6=9. 9 ist eine einzelne Ziffer, daher ist die Ausgabe 9.

Die im folgenden Programm verwendete Methode lautet wie folgt:

  • Deklarieren Sie zwei Variablen vom Typ Integer, z. B. Zahl und Wiederholung. Übergeben Sie die Daten als Recursive_Sum(number, Repeat) an die Funktion.

  • Innerhalb der Funktion als Recursive_Sum(int number, int Repeat)

    • Deklarieren Sie eine Ganzzahlvariable als total und setzen Sie sie mit repeat * sum(number);

    • Den Aufruf an die Funktion als sum( zurückgeben) total) .

  • innerhalb der Funktion als sum(int number)

    • prüft, ob die IF-Nummer 0 ist und gibt 0 zurück.

    • Überprüfen Sie, ob die IF-Nummer % 9 0 ist, und geben Sie 9 zurück.

    • ELSE, Rückgabenummer % 9

  • Drucken Sie das Ergebnis aus.

Beispiel

#include <bits/stdc++.h>
using namespace std;
int sum(int number){
   if(number == 0){
      return 0;
   }
   if(number % 9 == 0){
      return 9;
   }
   else{
      return number % 9;
   }
}
int Recursive_Sum(int number, int repeat){
   int total = repeat * sum(number);
   return sum(total);
}
int main(){
   int number = 12;
   int repeat = 4;
   cout<<"Recursive sum of digits of a number formed by repeated appends is: "<<Recursive_Sum(number, repeat);
   return 0;
}
Nach dem Login kopieren

Ausgabe

Wenn wir den obigen Code ausführen, wird die folgende Ausgabe generiert

Recursive sum of digits of a number formed by repeated appends is: 3
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSummieren Sie rekursiv die Summe der Ziffern einer durch wiederholte Additionen gebildeten Zahl, implementiert in C++. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage