• Viernes 8 de Noviembre de 2024, 19:52

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - minerva86

Páginas: [1]
1
Java / código java de permutaciones
« en: Lunes 9 de Marzo de 2009, 00:46 »
Hola que tal quisiera implementar un contador en este codigo ojala me puedan ayudar
solo quiero que muestre el num de combinaciones posibles  es todo aqui se los dejo

package permutar;

/**
 *
 * @author Administrador
 */
public class Permutar {


   public static void main ( String args [])
   {
        System.out.println("El numero base es");
       String p ="342";
       

      int pr = getFactorial(p.length());
      String[] ne = permutar(p,pr);

      mostrar( ne );
   }

   public static String[] permutar(String cadena,int p)
   {
      String[] per=new String[p];
      int l = cadena.length();
      int d=p/l;
      String[] aux = permutacion(cadena);
      int pos =0;

      if(p==1||l==1)
      {
         per[0] = cadena;
         return per;
      }

      for(int i=0;i<aux.length;i++)
      {
         String[] auxiliar = permutar(aux.substring(1),getFactorial(l-1));
         for(int j=0;j<auxiliar.length;j++)
         {
            per[pos]=aux.charAt(0)+auxiliar[j];
            pos++;
         }
      }
      return per;

   }
   public static String[] permutacion(String cadena)
   {
      int n = cadena.length();
      String temporal="";
      String[] vector = new String[n];
      vector[0]=cadena;
      for(int i=1;i<n;i++)
      {
         for(int j=0;j<n;j++)
         {
            if(j==n-1)
                  temporal = cadena.charAt(j)+temporal;
            else temporal += cadena.charAt(j);
         }
         cadena=temporal;
         vector=temporal;
         temporal="";
      }
      return vector;
   }
   public static int getFactorial (int n)
   {
       
      int result;
      if(n==1||n==0)
         return 1;

      result = getFactorial(n-1)*n;
       
      return result;
   }
   public static void mostrar (String[] vector)
   {
       
      for(int i= 0; i< vector.length;i++)
      {
             
           
         System.out.println(vector);

           
      }
   }
}
 :hitcomp:

Páginas: [1]