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.
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);
}
#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);
}
ResponderEliminarHola 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)
Una duda el +1 que representa?
ResponderEliminar