Recursividad en java
Amigos mios agradeceria enormente a quien pudiera darme un empujoncito para poder cambiar de RECURSIVO a ITERATIVO este codigo en java...dadas las pruebas esto calcula el mcd entre dos numeros...eh empleado un ciclo do while pero no me funciona como deberia hacer.tal vez puedan ayudarme gracias...
void f(int num, int div)
{
if (num>1) {
if ((num%div) == 0) {
System.out.println(div);
f(num/div,div);
} else {
f(num,div+1);
}
}
}
void f(int num, int div)
{
if (num>1) {
if ((num%div) == 0) {
System.out.println(div);
f(num/div,div);
} else {
f(num,div+1);
}
}
}
sin probarlo y a simple vista creo que la solución es esta:
while (num>1) {
if(num%div == 0) {
system.out.println(div);
num = num/div;
} else {
div++;
}
}
saludos
while (num>1) {
if(num%div == 0) {
system.out.println(div);
num = num/div;
} else {
div++;
}
}
saludos
