Home / Programacion / Ejemplos de Recursividad en Java

Ejemplos de Recursividad en Java

maxresdefaultRecursividad en Java

Dado un grupo de letras, imprimir todos los acrónimos posibles. Todas las combinaciones donde no se repitan las letras.

Por ejemplo: {a,b,c} => abc; acb; bac; bca; cab; cba

 


public class Combina {
   
    public static void main(String[] args) {
            String cadena = "ABC";
            combinaciones(cadena);
    }

    public static void combinaciones(String str) {

       // Inicialmente se llama a la función sin prefijo y con la cadena completa
        combinaciones("", str); 
    }

    private static void combinaciones(String prefijo, String str) {
            int n = str.length();
            String b,c;
            char a;
           
            if (n == 0)
                System.out.println(prefijo);
            else {
                    for (int i = 0; i < n; i++){ 
                       // Se vuelve a llamar a la función con el prefijo (inicialmente null) más la siguiente letra de la cadena.
                      //
                       a = str.charAt(i); 
                        b = str.substring(0, i);
                        c = str.substring(i+1, n);
                       
                        combinaciones(prefijo + str.charAt(i), str.substring(0, i) + str.substring(i+1, n));
                    }
                }
    }
}

Multiplicación Rusa en forma recursiva

int mulRusa(int A, int B) {

              if(A==1)
                           return (B); 
             if(A%2!=0)
                          return(B+mult_rusa( A/2 , B*2)); 
             else
                          return(mult_rusa( A/2 , B*2));
}

About AVB

Check Also

Functional Programming en Haskell (programación funcional)

Functional Programming es un paradigma de programación de alto nivel de abstracción donde el lenguaje …

Leave a Reply

Your email address will not be published. Required fields are marked *