23
混乱を列挙する
ある正の整数与えられると、オブジェクトのすべての混乱を生成します。nnnnnn 詳細 混乱は不動点のない順列です。(この手段は、すべての混乱の数にすることはできません番目のエントリ)。iiiiii 出力は、数字の並べ替え(または)で構成される必要があります。(1,2,…,n)(1,2,…,n)(1,2,\ldots,n)(0,1,2,…,n−1)(0,1,2,…,n−1)(0,1,2,\ldots,n-1) あるいは、(またはそれぞれ)の混乱を常に印刷することもできますが、そうする必要があります。(n,n−1,…,1)(n,n−1,…,1)(n,n-1,\ldots,1)(n−1,n−2,…,1,0)(n−1,n−2,…,1,0)(n-1,n-2,\ldots,1,0) 出力は決定的である必要があります。つまり、入力として指定されたでプログラムが呼び出されるときは常に、出力は同じである必要があります(これには、混乱の順序が同じままである必要があります)。毎回有限の時間(確率1でこれで十分ではありません)。nnn と仮定できます。n⩾2n⩾2 n \geqslant 2 特定のnnnについては、すべての混乱を生成するか、インデックスとして機能する別の整数kkkを取得し、kkk番目の混乱を(選択した順序で)出力できます。 例 混乱の順序は、ここにリストされている順序と同じである必要はないことに注意してください。 n=2: (2,1) n=3: (2,3,1),(3,1,2) n=4: (2,1,4,3),(2,3,4,1),(2,4,1,3), (3,1,4,2),(3,4,1,2),(3,4,2,1), (4,1,2,3),(4,3,1,2),(4,3,2,1) OEIS A000166は、混乱の数をカウントします。