Ejemplos de recursividad C++ Calcular el cociente de dos números

Función recursiva que calcule el cociente de dos números enteros.

La solución del problema se plantea de la siguiente forma:
Si el dividendo es menor que el divisor (caso base) el cociente es cero.
Si no se restan ambos, se toma el resultado de la resta como nuevo dividendo y se repite el proceso mientras que esta resta se pueda realizar, es decir, mientras que el dividendo sea mayor o igual que dividor.  Se cuentan las veces que se puede realizar la resta y este es el cociente.

Con un ejemplo lo veremos más claro. Por ejemplo, para dividir 14 entre 3 haríamos:

14 - 3 = 11
11 - 3 = 8
8 - 3 = 5
5 - 3 = 2


No se puede seguir restando ya que el último valor obtenido (2) es menor que el divisor (3). Como se han realizado 4 restas el cociente es 4.


/* funcion recursiva que calcula el cociente 
    de dos números enteros */
#include <iostream>
using namespace std;
int cociente(int, int);
int main(void)
{
 int n1, n2;
 cout << "Introduzca dividendo: ";
 cin >> n1;
 cout << "Introduzca divisor: ";
 cin >> n2;
 if(n2!=0)
    cout << "Cociente: " << cociente(n1,n2) << endl;
 else
    cout << "Divisor no puede ser cero" << endl;
 system("pause");
}
int cociente(int a, int b)
{

 if(a<b)
    return 0;
 else
    return 1+cociente(a-b,b);
}


2 comentarios:


  1. Hola apenas llegue a este sitio el siguiente codigo esta en JavaScript pero funciona al 100% solo seria seguir el algoritmo con el lenguaje de programacion

    considerando que

    dividendo=a
    divisor=b
    cociente=c

    var calculac=(a,b)=>{
    var c
    if(a<b){
    c=0
    }
    else{
    c=a-b
    }

    console.log(`${a} - ${b} = ${c}`)

    if(c<=b) return


    calculac(c,b)
    }

    calculac(10,3)

    ResponderEliminar