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 pepeto

Leave a Reply

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