


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; }
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
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die Rekursionstiefe von C++-Funktionen ist begrenzt und das Überschreiten dieser Grenze führt zu einem Stapelüberlauffehler. Der Grenzwert variiert je nach System und Compiler, liegt aber meist zwischen 1.000 und 10.000. Zu den Lösungen gehören: 1. Tail-Rekursionsoptimierung; 2. Tail-Call;

Ja, C++-Lambda-Ausdrücke können die Rekursion mithilfe von std::function unterstützen: Verwenden Sie std::function, um einen Verweis auf einen Lambda-Ausdruck zu erfassen. Mit einer erfassten Referenz kann sich ein Lambda-Ausdruck rekursiv selbst aufrufen.

VS Code und Visual Studio C++ IntelliSense können Bibliotheken möglicherweise nicht abrufen, insbesondere bei der Arbeit an großen Projekten. Wenn wir mit der Maus über #Include<wx/wx.h> fahren, wird die Fehlermeldung „Quelldatei 'string.h' kann nicht geöffnet werden“ angezeigt (abhängig von „wx/wx.h“) und manchmal reagiert die Funktion zur automatischen Vervollständigung nicht. In diesem Artikel erfahren Sie, was Sie tun können, wenn VSCode und VSC++ IntelliSense nicht funktionieren oder Bibliotheken nicht extrahieren. Warum funktioniert mein Intellisense nicht in C++? Bei der Arbeit mit großen Dateien kommt es manchmal zu IntelliSense

Manchmal stoßen wir auf Zählprobleme in Word-Tabellen. Wenn solche Probleme auftreten, kopieren die meisten Schüler die Word-Tabelle zur Berechnung in die Hand. Gibt es eine schnelle Möglichkeit, es zu berechnen? Natürlich gibt es das, tatsächlich lässt sich die Summe auch in Word berechnen. Wissen Sie also, wie es geht? Lasst uns heute gemeinsam einen Blick darauf werfen! Freunde in Not sollten es kurzerhand schnell abholen! Schrittdetails: 1. Zuerst öffnen wir die Word-Software auf dem Computer und öffnen das zu bearbeitende Dokument. (Wie im Bild gezeigt) 2. Als nächstes positionieren wir den Cursor auf der Zelle, in der sich der summierte Wert befindet (wie im Bild gezeigt), und klicken dann auf [Menüleiste

Der rekursive Algorithmus löst strukturierte Probleme durch den Selbstaufruf von Funktionen. Der Vorteil besteht darin, dass er einfach und leicht zu verstehen ist. Der Nachteil besteht jedoch darin, dass er weniger effizient ist und einen Stapelüberlauf verursachen kann Der Vorteil der Stapeldatenstruktur besteht darin, dass sie effizienter ist und einen Stapelüberlauf vermeidet. Der Nachteil besteht darin, dass der Code möglicherweise komplexer ist. Die Wahl zwischen rekursiv und nicht rekursiv hängt vom Problem und den spezifischen Einschränkungen der Implementierung ab.

Eine rekursive Funktion ist eine Technik, die sich selbst wiederholt aufruft, um ein Problem bei der Zeichenfolgenverarbeitung zu lösen. Es erfordert eine Beendigungsbedingung, um eine unendliche Rekursion zu verhindern. Rekursion wird häufig bei Operationen wie der String-Umkehr und der Palindromprüfung verwendet.

Rekursion ist eine leistungsstarke Technik, die es einer Funktion ermöglicht, sich selbst aufzurufen, um ein Problem zu lösen. In C++ besteht eine rekursive Funktion aus zwei Schlüsselelementen: dem Basisfall (der bestimmt, wann die Rekursion stoppt) und dem rekursiven Aufruf (der das Problem aufteilt). kleinere Teilprobleme). Indem Sie die Grundlagen verstehen und praktische Beispiele wie faktorielle Berechnungen, Fibonacci-Folgen und binäre Baumdurchläufe üben, können Sie Ihre rekursive Intuition entwickeln und sie sicher in Ihrem Code verwenden.

Rekursion ist eine Technik, bei der sich eine Funktion selbst aufruft, aber die Nachteile eines Stapelüberlaufs und einer Ineffizienz aufweist. Zu den Alternativen gehören: Tail-Recursion-Optimierung, bei der der Compiler rekursive Aufrufe in Schleifen optimiert, die Schleifen anstelle von Rekursion und Coroutinen verwenden, die das Anhalten und Fortsetzen der Ausführung ermöglichen und so rekursives Verhalten simulieren.
