10/02/2017, 06:06
|
| | Fecha de Ingreso: junio-2010 Ubicación: Madrid
Mensajes: 620
Antigüedad: 14 años, 7 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, |