Desafío
En la menor cantidad de código:
- Calcule la duración del ciclo de permutación de una combinación perfecta en una baraja de cualquier tamaño n (donde n ≥ 2 yn es par).
- Imprima una tabla de todas las longitudes de ciclo para 2 ≤ n ≤ 1000 ( n par).
Tenga en cuenta que hay dos formas básicas de definir una combinación aleatoria perfecta. Está la combinación aleatoria , que mantiene la primera carta en la parte superior y la última carta en la parte inferior, y está la combinación aleatoria , que mueve la primera y la última carta una posición hacia el centro. Puede elegir si está haciendo una combinación aleatoria o una aleatoria; El algoritmo es casi idéntico entre los dos.
- salida de baraja de 10 cartas: [1,2,3,4,5,6,7,8,9,10] ↦ [1,6,2,7,3,8,4,9,5, 10]
- en baraja de 10 cartas: [1,2,3,4,5,6,7,8,9,10] ↦ [6,1,7,2,8,3,9,4,10, 5]
Ejemplo gráfico
Aquí, vemos que una combinación aleatoria en un mazo de 20 cartas tiene una duración de ciclo de 18 pasos. (Esto es solo para ilustración; su solución no es necesaria para generar ciclos gráficamente). La clásica baraja de 52 cartas, por otro lado, tiene una duración de ciclo de reproducción aleatoria de solo 8 pasos (no se muestra).
Una combinación aleatoria en un mazo de 20 cartas tiene una duración de ciclo de solo 6 pasos.
Ejemplo tabular de salida
Su programa debería generar algo similar a esto, aunque puede elegir el formato tabular que más le guste. Esto es para una mezcla aleatoria:
2 1
4 2
6 4
8 3
10 6
12 10
14 12
16 4
18 8
20 18
22 6
24 11
26 20
28 18
30 28
32 5
34 10
36 12
38 36
40 12
...many lines omitted...
1000 36
Preguntas
- ¿Parece haber alguna conexión entre el número de entrada ny su cuenta de ciclo, cuando n es una potencia de 2?
- ¿Qué tal cuando n no es una potencia de 2?
- Curiosamente, un mazo de 1000 cartas tiene un recuento de ciclo de shuffle de solo 36, mientras que un mazo de 500 cartas tiene un recuento de ciclo de shuffle de 166. ¿Por qué podría ser esto?
- ¿Cuál es el número más grande que puede encontrar cuyo número de ciclos c es mucho más pequeño que n , lo que significa que la relación n / c está maximizada?