Java - Sucesion Recursiva ascendente hasta n

 
Vista:
sin imagen de perfil
Val: 9
Ha aumentado su posición en 5 puestos en Java (en relación al último mes)
Gráfica de Java

Sucesion Recursiva ascendente hasta n

Publicado por Josue Fernandez (4 intervenciones) el 14/03/2020 20:59:15
Hola buen dia, necesito realizar un ejercicio en Java que al ingresar un numero "n" ponga 1,2,3,4...n ascendentemente hasta n

Tengo este codigo que hace las funciones pero no es Recursivo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package com.example;
 
import java.util.Scanner;
 
public class Recursividad {
 
  public static void main(String[] args) {
 
   String n="";
   int numero= 0;
 
 
   Scanner num = new Scanner(System.in);
 
   System.out.println("Digite un número: ");
   n = num.nextLine();
 
   int nnumero=Integer.parseInt(n);
 
   for(int i=0; i<=nnumero; i++){
 
     System.out.append(i+",");
 
   }
 
   for(int j=nnumero; j>0; j--){
 
     System.out.append(j+",");
 
   }
 
  }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Sucesion Recursiva ascendente hasta n

Publicado por Costero (144 intervenciones) el 14/03/2020 22:04:22
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class Recursion {
 
    public static void main(String [] args) {
        int n = 4;
        System.out.println("Result: " + recursiveAsc(n));
        System.out.println("Result: " + recursiveDesc(0, n));
    }
 
    private static String recursiveAsc(int value) {
        if(value == 0) {
            return "" + value;
        } else {
            return value + ", " + recursiveAsc(value - 1);
        }
    }
 
    private static String recursiveDesc(int value, int index) {
        if(value == index) {
            return "" + value;
        } else {
            return value + ", " + recursiveDesc(value + 1, index);
        }
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 9
Ha aumentado su posición en 5 puestos en Java (en relación al último mes)
Gráfica de Java

Sucesion Recursiva ascendente hasta n

Publicado por Josue (4 intervenciones) el 14/03/2020 22:25:01
Muchas gracias, una duda se podria hacer que todo apareza en una sola linea y que ovbie el 4??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Sucesion Recursiva ascendente hasta n

Publicado por Costero (144 intervenciones) el 14/03/2020 22:50:02
No estoy seguro a que te refieres a una linea. Asi que lo hice asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Recursion {
 
    public static void main(String [] args) {
        int n = 4;
        System.out.println("Result: " + recursiveAsc(n - 1));
        System.out.println("Result: " + recursiveDesc(0, n - 1));
    }
 
    private static String recursiveAsc(int value) {
        return value == 0 ? "" + value : (value + ", " + recursiveAsc(value - 1));
    }
 
    private static String recursiveDesc(int value, int index) {
        return value == index ? ("" + value) : value + ", " + recursiveDesc(value + 1, index);
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 9
Ha aumentado su posición en 5 puestos en Java (en relación al último mes)
Gráfica de Java

Sucesion Recursiva ascendente hasta n

Publicado por Josue (4 intervenciones) el 14/03/2020 22:53:03
Perdon no me explique bien hehe

Me han pedido que sea asi, la consola me tiene que pedir que ingrese un numero "n" entonces usando la recursividad tengo que llegar hasta "n" y regresar en la misma linea

Ejem: Si n = 5

me tendria que arrojar esto = 1,2,3,4,5,4,3,2,1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Sucesion Recursiva ascendente hasta n

Publicado por Costero (144 intervenciones) el 14/03/2020 23:11:34
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Recursion {
 
    public static void main(String [] args) {
        int n = 5;
//        System.out.println("Result: " + recursiveAsc(n));
//        System.out.println("Result: " + recursiveDesc(1, n));
 
        String result = recursiveDesc(1, n) + ", " + recursiveAsc(n - 1);
        System.out.println("Result: " + result);
    }
 
    private static String recursiveAsc(int value) {
        return value == 1 ? "" + value : (value + ", " + recursiveAsc(value - 1));
    }
 
    private static String recursiveDesc(int value, int index) {
        return value == index ? ("" + value) : value + ", " + recursiveDesc(value + 1, index);
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 9
Ha aumentado su posición en 5 puestos en Java (en relación al último mes)
Gráfica de Java

Sucesion Recursiva ascendente hasta n

Publicado por Josue (4 intervenciones) el 14/03/2020 23:24:43
Muchaaas gracias hey

Mil respetos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Sucesion Recursiva ascendente hasta n

Publicado por Rodrigo (623 intervenciones) el 15/03/2020 04:42:35
Una alternativa:

Hacerlo todo solo con 1 funcion recursiva:

1
2
3
4
5
6
7
8
9
10
11
12
public class Recursion {
    public static void main(String [] args) {
        for(int i = 1; i < 10; i++) {
           System.out.println(escala(i,1));
        }
    }
 
    private static String escala(int val, int i) {
        return (val == i) ? ("" + val )
                          : (i + ", " + escala(val, i+1) + ", " + i);
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar