
Crear un programa JAVA utilizando recursividad
Publicado por KrizMet66 (1 intervención) el 04/09/2015 06:50:35
Hola, soy nuevo en el foro:
Tengo un problema en java que consiste en sumar el resultado de una ecuación repetitiva mente por ejemplo:
Si ingreso 3 por teclado debe de sustituirse en esta ecuación "x°2+2x+1" quedando algo así "3°2+2(3)+1=16"
y después de obtener este resultado debe disminuir en 1 el dato ingresado osea a 2 en este caso y repetir el proceso hasta llegar a cero, el problema es que sume todos los resultados ya obtenidos en sucesión.
Este es el código que estoy manejando:
public static void main(String[] args) {
Scanner ko=new Scanner(System.in);
int num = 0;
sucesion pt = new sucesion();
System.out.println("Ingrese numero para calcular operacion: ");
System.out.println("numero: ");
num = ko.nextInt();
pt.ImprimeTabla(num);//1=cont
}
public static int ImprimeTabla(int num) {
if(num>=0){
int s=num * num;
int r= s+(2*num);
int v=r+1;
System.out.println(v);
//
// int se=v+rs
// ImprimeTabla(num, cont + 1);
}
return (ImprimeTabla(num-1)+((((num-1)*num-1)+(2*(num-1)))+1));
}
}
Datos de Entrada:
3
Datos de Salida (Por Ahora):
16
9
4
1
Lo que debería salir:
16+9+4+1=20
Ayuda por favor... que puedo hacer.
Tengo un problema en java que consiste en sumar el resultado de una ecuación repetitiva mente por ejemplo:
Si ingreso 3 por teclado debe de sustituirse en esta ecuación "x°2+2x+1" quedando algo así "3°2+2(3)+1=16"
y después de obtener este resultado debe disminuir en 1 el dato ingresado osea a 2 en este caso y repetir el proceso hasta llegar a cero, el problema es que sume todos los resultados ya obtenidos en sucesión.
Este es el código que estoy manejando:
public static void main(String[] args) {
Scanner ko=new Scanner(System.in);
int num = 0;
sucesion pt = new sucesion();
System.out.println("Ingrese numero para calcular operacion: ");
System.out.println("numero: ");
num = ko.nextInt();
pt.ImprimeTabla(num);//1=cont
}
public static int ImprimeTabla(int num) {
if(num>=0){
int s=num * num;
int r= s+(2*num);
int v=r+1;
System.out.println(v);
//
// int se=v+rs
// ImprimeTabla(num, cont + 1);
}
return (ImprimeTabla(num-1)+((((num-1)*num-1)+(2*(num-1)))+1));
}
}
Datos de Entrada:
3
Datos de Salida (Por Ahora):
16
9
4
1
Lo que debería salir:
16+9+4+1=20
Ayuda por favor... que puedo hacer.
Valora esta pregunta


0