Herausforderung
In kürzester Menge Code:
- Berechnen Sie die Länge des Permutationszyklus eines perfekten Shuffle auf einem Kartenspiel beliebiger Größe n (wobei n ≥ 2 und n gerade ist).
- Geben Sie eine Tabelle aller Zykluslängen für 2 ≤ n ≤ 1000 ( n gerade) aus.
Beachten Sie, dass es zwei grundlegende Möglichkeiten gibt, ein perfektes Shuffle zu definieren. Es gibt das Out-Shuffle , bei dem die erste Karte oben und die letzte Karte unten bleiben, und das In-Shuffle , bei dem die erste und die letzte Karte um eine Position in Richtung Mitte verschoben werden. Sie können wählen, ob Sie ein Out-Shuffle oder ein In-Shuffle durchführen. Der Algorithmus ist zwischen beiden fast identisch.
- Out-Shuffle des 10-Karten-Decks: [1,2,3,4,5,6,7,8,9,10] ↦ [1,6,2,7,3,8,4,9,5, 10].
- In-Shuffle von 10-Karten-Deck: [1,2,3,4,5,6,7,8,9,10] ↦ [6,1,7,2,8,3,9,4,10, 5].
Grafisches Beispiel
Hier sehen wir, dass ein Out-Shuffle auf einem 20-Karten-Deck eine Zykluslänge von 18 Schritten hat. (Dies dient nur zur Veranschaulichung. Ihre Lösung muss keine Zyklen grafisch ausgeben.) Das klassische 52-Karten-Deck hat dagegen eine Out-Shuffle-Zykluslänge von nur 8 Schritten (nicht gezeigt).
Ein In-Shuffle auf einem 20-Karten-Deck hat eine Zykluslänge von nur 6 Schritten.
Tabellarisches Beispiel für die Ausgabe
Ihr Programm sollte etwas Ähnliches ausgeben, obwohl Sie ein beliebiges Tabellenformat auswählen können, das Ihnen am besten gefällt. Dies ist für ein Out-Shuffle:
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
Fragen
- Scheint es einen Zusammenhang zwischen dem Zahleneingang n und seiner Zykluszahl zu geben, wenn n eine Potenz von 2 ist?
- Wie wäre es, wenn n keine Potenz von 2 ist?
- Seltsamerweise hat ein 1000-Karten-Deck eine Out-Shuffle-Zykluszahl von nur 36, während ein 500-Karten-Deck eine Out-Shuffle-Zykluszahl von 166 hat. Warum könnte dies sein?
- Was ist die größte Zahl, die Sie finden können, deren Zykluszahl c erheblich kleiner als n ist , was bedeutet, dass das Verhältnis n / c maximiert ist?