2017-04-09 10 views
-1

は、私は、リストの各要素は、1つの5の使用可能なスロットに入れることができるカードデッキのすべての順列を生成しますか?

​​

特定の順番で52個の要素のカードデッキリストを持っている:スロット1,2,3,4または5 方法5つのスロットのすべての可能な順列を生成できますか?例えば、1つの置換は、スロット1の52枚のカード、もう1枚はスロット1の最初のカード、スロット2の2枚目のカードなどである。 私はitertoolsの置換関数を使用することを考えていましたが、5スロットの概念をどのように適用するのか分かりません。

+0

したがって、デッキを最大5つの部分に分割したいですか?あなたは各パーツに注文を保存したいですか?パーツ間?より具体的にする必要があります。そして、まず何を試しましたか?問題を解決しようとする試み、予想される結果、得たものを表示してから、お手伝いできます! –

答えて

1

私が正しく理解していれば、あなたのデッキの1つの割り当ては、デッキからの各要素を数字1,2,3,4,5にマッピングする関数として見ることができます。入力が常に同じであれば、52要素のリストとして表すことができ、各要素は、15の間の番号であり、その要素が割り当てられているスロットを示します。

itertoolsの機能productが役に立ちます。

ただし、生成される要素の数は5^52=O(10^36)となります。これは多くの要素であり、時間通りに印刷することは決して終わらない可能性が高いです。 100万秒を印刷すると、それらをすべて取得するには10億年以上かかります。

関連する問題