Maison > Article > développement back-end > Programme C++ écrit en utilisant la récursion pour calculer le produit de deux nombres
La récursion est une technique permettant d'appeler une fonction à partir de la même fonction elle-même. Il doit y avoir une condition de base ou de fin pour mettre fin à l'appel récursif. Les procédures récursives sont très utiles pour effectuer des solutions itératives complexes avec moins de code et trouver des solutions plus simples via des sous-opérations.
Dans cet article, nous discuterons de la méthode récursive pour effectuer un produit (multiplication) entre deux nombres en C++. Nous comprenons d’abord les principes de base, la syntaxe d’appel de fonctions récursives, l’algorithme et le code source.
Dans les langages de haut niveau, il existe des opérateurs de multiplication qui peuvent effectuer directement la multiplication. Cependant, nous savons que la multiplication est en réalité une addition répétée. Ainsi, le résultat de A*B est le nombre d’ajouts répétés de A et B, ou on peut dire que le nombre d’ajouts répétés de B et A. Chaque fois qu'il y a des répétitions, nous pouvons le faire en utilisant la récursivité. Examinons d'abord la syntaxe de définition de fonction récursive.
<return type> function_name ( parameter list ) { if ( base condition ) { terminate recursive call } recursive function call: function_name ( updated parameter list ) }
Regardons l'algorithme qui effectue la multiplication par récursion.
#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; }
Multiplication of 5, 7 is: 35 Multiplication of 8, 0 is: 0 Multiplication of 25, 3 is: 75 Multiplication of 9, 1 is: 9
Regardez, dans ce programme, les paramètres de fonction A et B sont tous deux des entiers. Désormais, après chaque étape, il décrémente le deuxième paramètre B de 1 et ajoute A à A lui-même. Ainsi, la fonction effectue le processus de multiplication.
La récursion est le processus d'appel de la même fonction à partir de la fonction elle-même. Lorsque nous appelons une fonction de manière récursive, nous mettons à jour ou modifions légèrement le jeu de paramètres afin que le même effet ne se reproduise pas encore et encore, puis divisons le problème en sous-problèmes plus petits et résolvons le problème en résolvant ces petits problèmes de manière ascendante. approche . Presque tout ce qui peut être implémenté à l’aide d’une boucle peut également l’être à l’aide de la récursivité. Dans cet article, nous avons vu le processus simple de multiplication de deux entiers par récursion. Ajoutez des entiers plusieurs fois pour obtenir le résultat final de la multiplication.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!