Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/02/2017, 06:06
Fw190
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 13 años, 10 meses
Puntos: 73
Respuesta: Permutaciones

Se trata de una recursión. Fíjate en las seis primeras variaciones que has puesto:

Fijas el primer número de la lista y, luego, con los otros tres, haces todas las variaciones posibles (en total, 6). Para hacer estas variaciones sobre tres elementos, a su vez, fijas el primero de los tres y haces las variaciones (2) con los dos elementos que quedan.

A continuación, intercambias el primer número con el segundo, y repites el proceso anterior. Y así, con todos los números de la lista.

La recursión empleada es simple:

Con dos elementos, tengo dos variaciones posibles.

Con tres elementos, tengo, para cada elemento, dos variaciones, correspondientes a los otros dos. En total, 3*2=6 variaciones.

Con cuatro elementos, tengo, para cada elemento, las seis variaciones que corresponden a los otros tres, en total, 4*(3*2)=24.

Y así, sucesivamente, hasta que te aburras.

¿El modo de implementarlo en una función? Pasa un arreglo de N elementos. Para cada uno de esos elementos, dentro de la función creas un arreglo de N-1 elementos y vuelves a llamar a la función. Así, hasta que lleguemos a un arreglo de 2 elementos. El escribir la función y cómo guardar las variaciones que vayan saliendo lo dejamos como tarea para este fin de semana, que se anuncia mal tiempo.

Saludos,