Ejemplos de Recursividad C++ Multiplicar dos numeros enteros

Programa en C++ que calcula el producto de dos números de forma recursiva. Los números a multiplicar se leen por teclado.

#include <iostream>
using namespace std;
int producto(int, int);
int main()
{
 int n1,n2,p;

 cout << "Introduzca primer numero: ";
 cin >> n1;
 cout << "Introduzca segundo numero: ";
 cin >> n2;
 p=producto(n1,n2);
 cout << "producto: " << p << endl;
 system("pause");

}

int producto(int a, int b)
{
 if(a==0 or b==0)
   return 0;
  else
   {
    return a+producto(a,b-1);
   }
}

Más ejemplos de recursividad

8 comentarios:

  1. no usas or. sino || en c++ ; todo lo demas bien, gracias x la ayuda

    ResponderEliminar
    Respuestas
    1. En C++ puedes usar operadores alternativos en sustitución de los originales de C:
      and bitand compl not_eq or_eq xor_eq and_eq bitor not or xor

      Saludos

      Eliminar
  2. Qué pesados son los que se comentan, todos quieren "demostrar" que saben más que Enrique diciendo tonterías. :/

    ResponderEliminar
  3. desde mi punto de vista el codigo es correcto, solo faltaria arreglarlo en caso de que se multiplique por un numero negativo.

    ResponderEliminar
    Respuestas
    1. int producto(int a, int b)
      {
      if(a==0 or b==0)
      return 0;
      else
      {
      if (b>0)
      return a+producto(a,b-1);
      else
      return -a+producto (a,b+1);
      }
      }

      Eliminar
  4. Cómo se puede obtener los N números primos con recursividad

    ResponderEliminar
  5. WOW, b vendría a actuar como contador, no? Porque, como puedo ver (a lo mejor me equivoque) la funcion se repite hasta que b se hace cero, y cuando alcanza ese punto, siempre va retornando cero. Por ejemplo, multiplicar 3x3: Al final quedaría algo como (3 + (3 + (3 + 0) ) )

    ResponderEliminar