5
あらゆるサイズのデッキのパーフェクトシャッフルのサイクル長
チャレンジ 最短のコードで: 任意のサイズのカードのデッキ上に完全シャッフルの順列サイクルの長さを計算し、N(N ≥2及びnは偶数です)。 出力2≤のためのすべてのサイクルの長さのテーブルN ≤1000(nは偶数)。 完璧なシャッフルを定義するには、2つの基本的な方法があることに注意してください。あり、アウトシャッフル上に最初のカードと下部に最後のカードを保持し、かつそこにある中、シャッフル中央に向かって、最初と最後のカード1点の位置を移動し、。シャッフルするかシャッフルするかを選択できます。アルゴリズムは2つの間でほとんど同じです。 10カードデッキのシャッフル:[1,2,3,4,5,6,7,8,9,10]↦[1,6,2,7,3,8,4,9,5、 10]。 10カードデッキのシャッフル:[1,2,3,4,5,6,7,8,9,10]↦[6,1,7,2,8,3,9,4,10、 5]。 グラフィカルな例 ここでは、20カードデッキのアウトシャッフルのサイクル長が18ステップであることがわかります。(これは説明のみを目的としています。サイクルをグラフィカルに出力するためのソリューションは必要ありません。)一方、クラシック52カードデッキは、8段のアウトシャッフルサイクル長しかありません(図には示されていません)。 インシャッフル 20枚のカードデッキには、6つのステップのサイクル長を有しています。 出力の表形式の例 プログラムはこれに似たものを出力するはずですが、好きな表形式を選択することもできます。これはアウトシャッフル用です: 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 …