23
デッキのシャッフルをやめて、もうプレイしてください。
チャレンジ: 入力:範囲内の明確な正整数の。[1,list-size][1,list-size][1, \text{list-size}] 出力:整数:リストがリッフルシャッフルされる回数。リストの場合、これはリストが2つの半分に分割され、これらの半分がインターリーブされることを意味します(つまり、リストを[1,2,3,4,5,6,7,8,9,10]1回リッフルシャッフルすると結果が[1,6,2,7,3,8,4,9,5,10]になるため、このチャレンジでは入力[1,6,2,7,3,8,4,9,5,10]がになります1)。 チャレンジルール: リストには、の範囲の正の整数のみが含まれると仮定でき(または 0インデックス付きの入力リストを選択した場合は)。[1,list-size][1,list-size][1, \text{list-size}][0,list-size−1][0,list-size−1][0, \text{list-size}-1] すべての入力リストは、有効なリフルシャッフルリスト、またはシャッフルされていないソート済みリスト(この場合、出力は0)のいずれかであると想定できます。 input-listには少なくとも3つの値が含まれると想定できます。 段階的な例: 入力: [1,3,5,7,9,2,4,6,8] 一度アンシャフリングすると[1,5,9,4,8,3,7,2,6]、次のよう[1, ,5, ,9, ,4, ,8]になります。偶数の0インデックスが付けられたすべてのアイテムが最初に来て、その後、奇数の0インデックスが付けられたすべてのアイテムがその後に来るためです[ ,3, ,7, ,2, ,6, ]。 リストはまだ順序付けられていないため、続行します。 もう一度リストをUnshufflingは次のようになります[1,9,8,7,6,5,4,3,2] :再びになる[1,8,6,4,2,9,7,5,3] その後:[1,6,2,7,3,8,4,9,5] :そして最後に[1,2,3,4,5,6,7,8,9]、我々はunshuffling行われているので、順序付けられたリストです。 を取得するために元のファイルを[1,3,5,7,9,2,4,6,8]5回シャッフル解除した[1,2,3,4,5,6,7,8,9]ため、出力は5この場合になります。 一般的なルール: これはcode-golfであるため、バイト単位の最短回答が優先されます。 コードゴルフ言語では、コードゴルフ以外の言語で回答を投稿しないようにしないでください。「任意の」プログラミング言語の可能な限り短い答えを考えてみてください。 デフォルトのI / Oルールを使用した回答には標準ルールが適用されるため、STDIN / STDOUT、関数/メソッド、適切なパラメーター、戻り値型、完全なプログラムを使用できます。あなたの電話。 デフォルトの抜け穴は禁止されています。 可能であれば、コードのテスト(TIOなど)へのリンクを追加してください。 また、回答の説明を追加することを強くお勧めします。 テストケース: Input Output [1,2,3] 0 [1,2,3,4,5] 0 [1,3,2] 1 …