Foros del Web » Programando para Internet » PHP »

Permutación con repeticion o un simple bucle?

Estas en el tema de Permutación con repeticion o un simple bucle? en el foro de PHP en Foros del Web. Hola a todos, Estoy aquí con una pregunta, alguien me puede ayudara a construir una función para generar listas de elementos con permutaciones y repeticiones?, ...
  #1 (permalink)  
Antiguo 05/06/2008, 05:55
.:Chimera:.
Invitado
 
Mensajes: n/a
Puntos:
Permutación con repeticion o un simple bucle?

Hola a todos,

Estoy aquí con una pregunta, alguien me puede ayudara a construir una función para generar listas de elementos con permutaciones y repeticiones?, me explico:

Tengo 3 arrays, uno de letras, otro de numeros y otro de simbolos. Lo que me gustaría conseguir es que el script empiece a generar listas de "palabras" permutando los elementos de los 3 arrays y repitiendolos, de forma que me pueda conseguir cualquier combinación imaginable.


Empezaría con palabras de un solo elemento, luego incrementamos la cantidad de elementos a 2, luego a 3 y así hasta que aguante. Almacenandome todas las palabras que genere en una base de datos..

Se que en teoria, se puede tardar un huevo en siquiera llegar a palabras de 6 elementos, pero necesito hacer el script, no que funcione... (Teoria de matematicas)

Se que las permutaciones con repeticion se hacen con factoriales y tal..pero no se pasarlo a php... T_T


Me he mirado este mensaje, pero no encuentro lo que necesito, no entiendo como varia el numero de elementos: http://www.forosdelweb.com/f13/permutaciones-183178/


Un saludo.
  #2 (permalink)  
Antiguo 14/06/2008, 13:12
 
Fecha de Ingreso: octubre-2003
Ubicación: Cerca de una wifi o 3G
Mensajes: 328
Antigüedad: 20 años, 6 meses
Puntos: 4
Respuesta: Permutación con repeticion o un simple bucle?

Con ciclos for anidados

Lo que creo que complica un poco las cosas es que sean 3 array y 1, como yo lo veo da lo mismo si los elementos son numeros o letras o simbolos ya que lo unico que importa es que son elementos únicos o caracteres.

En este caso con los 3 array formamos uno solo

Ahora otro problema es de cuantos digitos quieres la combinación ya que en el caso de que no supieras deberían ser ciclos for recursivos o sea que se llaman a si mismos, esta es la única manera de hacer algo realmente infinito.

Yo hice un código similar que lee un xml y en base a eso crea una estructura de directorios, para que no tuviera tope en la cantidad de directorios hice una función recursiva que se llama así misma cada vez que sea necesario, asi pueden haber x cantidad de directorios y cada uno de estos puede tener x cantidad de subdirectorios y sucesivamente, tengo mala memoria y no lo encuentro ahora, pero el código es bastante similar para lo que necesitas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:15.