私は、パズルの拡張への組み合わせを見つけようとする力ずくのアプローチを行っています。
多数の組み合わせを取得してから、各組み合わせをテストして、特定の基準に適合するかどうかを確認しようとしています。Python の優れた itertools を使用して組み合わせを生成します。基本的に、これにより、それぞれを調べてテストできる反復子が得られます。
これはすぐに返され、 91390の組み合わせを確認できます。
itertools.combinations(range(1, 40), 4)
これには数分かかり、198792594の組み合わせをテストできます。
itertools.combinations(range(1, 122), 5)
次のレベルに到達したら、これに対する答えが必要です。
itertools.combinations(range(1, 365), 6)
364個のセットの6通りの組み合わせになると...非常に時間がかかります。時代。私は本質的に多くの組み合わせを求めていますか? どのようにスケーリングしますか?