Heim > Backend-Entwicklung > C++ > Hauptteil

C++-Programm, das mit Rekursion geschrieben wurde, um das Produkt zweier Zahlen zu berechnen

王林
Freigeben: 2023-08-28 11:01:11
nach vorne
1644 Leute haben es durchsucht

C++-Programm, das mit Rekursion geschrieben wurde, um das Produkt zweier Zahlen zu berechnen

Rekursion ist eine Technik zum Aufrufen einer Funktion aus derselben Funktion selbst. Es muss eine Basis- oder Abschlussbedingung vorliegen, um den rekursiven Aufruf zu beenden. Rekursive Verfahren sind sehr hilfreich, um komplexe iterative Lösungen mit weniger Code durchzuführen und durch Unteroperationen einfachere Lösungen zu finden.

In diesem Artikel besprechen wir die rekursive Methode zur Produktdurchführung (Multiplikation) zwischen zwei Zahlen in C++. Zuerst verstehen wir die Grundprinzipien, die Syntax rekursiver Funktionsaufrufe, den Algorithmus und den Quellcode.

Verwenden Sie rekursive Multiplikation

In Hochsprachen gibt es Multiplikationsoperatoren, die eine Multiplikation direkt durchführen können. Wir wissen jedoch, dass es sich bei der Multiplikation tatsächlich um eine wiederholte Addition handelt. Das Ergebnis von A*B ist also die Anzahl der wiederholten Additionen von A und B, oder man kann sagen, dass es sich um die Anzahl der wiederholten Additionen von B und A handelt. Immer wenn es Wiederholungen gibt, können wir dies mithilfe der Rekursion tun. Schauen wir uns zunächst die Syntax der rekursiven Funktionsdefinition an.

Grammatik

<return type> function_name ( parameter list ) {
   if ( base condition ) {
      terminate recursive call
   }
   recursive function call: function_name ( updated parameter list )
}
Nach dem Login kopieren

Algorithmus

Schauen wir uns den Algorithmus an, der die Multiplikation mithilfe der Rekursion durchführt.

  • Definieren Sie eine Funktion multiply(), die zwei Zahlen A und B akzeptiert
    • Wenn A < B, dann < B,则
      • Return-Multiplikation(B, A)
    • Ansonsten, wenn B nicht 0 ist
      • gibt A + Multiplikation (A, B - 1) zurück
    • Sonst
      • 0 zurückgeben
    • Wenn es endet
  • Ende der Funktionsdefinition
  • Lesen Sie zwei Eingaben A und B
  • res = Multiplikation (A, B)
  • Nichts anzeigen

Beispiel

#include <iostream>
#include <sstream>

using namespace std;
int multiply( int A, int B) {
   if( A < B ) {
      return multiply( B, A );
   }
   else if( B != 0 ) {
      return A + multiply( A, B - 1 );
   }
   else {
      return 0;
   }
}

int main()
{
   cout << "Multiplication of 5, 7 is: " << multiply( 5, 7 ) << endl;
   cout << "Multiplication of 8, 0 is: " << multiply( 8, 0 ) << endl;
   cout << "Multiplication of 25, 3 is: " << multiply( 25, 3 ) << endl;
   cout << "Multiplication of 9, 1 is: " << multiply( 9, 1 ) << endl;
}
Nach dem Login kopieren

Ausgabe

Multiplication of 5, 7 is: 35
Multiplication of 8, 0 is: 0
Multiplication of 25, 3 is: 75
Multiplication of 9, 1 is: 9
Nach dem Login kopieren

Sehen Sie, in diesem Programm sind die Funktionsparameter A und B beide ganze Zahlen. Nun dekrementiert es nach jedem Schritt den zweiten Parameter B um 1 und addiert A zu A selbst. Auf diese Weise führt die Funktion den Multiplikationsprozess durch.

Fazit

Rekursion ist der Prozess, bei dem dieselbe Funktion aus der Funktion selbst aufgerufen wird. Wenn wir eine Funktion rekursiv aufrufen, aktualisieren oder ändern wir den Parametersatz geringfügig, damit der gleiche Effekt nicht immer wieder auftritt. Anschließend teilen wir das Problem in kleinere Teilprobleme auf und lösen das Problem, indem wir diese kleineren Probleme von unten nach oben lösen Ansatz . Fast alles, was mit einer Schleife implementiert werden kann, lässt sich auch mit Rekursion implementieren. In diesem Artikel haben wir den einfachen Prozess der Multiplikation zweier Ganzzahlen mithilfe der Rekursion gesehen. Addieren Sie ganze Zahlen mehrmals, um das endgültige Multiplikationsergebnis zu erhalten.

Das obige ist der detaillierte Inhalt vonC++-Programm, das mit Rekursion geschrieben wurde, um das Produkt zweier Zahlen zu berechnen. 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