Cita:
Iniciado por GreenEyed Sustituye a y b por dos valores, sigue la ejecución... y no es tan complicado. Lo mejor es empezar con valores que esten cerca de la condicición de finalización (b==1) e ir avanzando de ahí.
PD: Para estar en un libro de como programar en Java es un ejemplo con una "cagada" bastante gorda. Si se le pasa un b <= 0... pum.
Primero hay que leer, en las dos primeras líneas dice que b tiene que ser un entero positivo........
Y el ejercicio completo consiste en arreglarlo para que funcione con parametros positivos
Gracias furizZZZ........
Ya lo comprendí y lo arreglo para que pudiera multiplicar números negativos, muchas gracias:
Adjunto el código de el programa completo:
Código Java:
Ver originalint multip(int a, int b)
{
if (b == 1 || b == -1)
return a;
else if(b == 0) //solo entra aca cuando en la primer llamada b == 0
return 0;
else if (b > 0)
return a + multip(a, b-1);
else
retrun -(a + multip(a, b+1));
}