ターゲット製品がサブセットで見つかったら、Pythonを停止させる方法は?
私は、サブセット製品などのNP完全な問題の趣味と実証的研究のためにpythonを学んでいます。私が持っているアルゴリズムは機能しますが、意図したとおりには実行されません。 私がやろうとしていることはcombinations、入力変数のサブセット積に到達したらitertoolsを停止することですtarget。これにより、コードが少し速くなります。コードは洗練段階にあるため、不要なリストがありますres_2 これがループです。 res_2 = []; for i in range(1, len(s)+1): var = (findsubsets(s, i)) kk = list(map(numpy.prod, var)) res_2.append(kk) if target in kk: print('yes') print(var) break これは私が望まない出力です。スクリプトが(4、4)で停止しないことに注意してください。ターゲットが「ヒット」した後ですべての組み合わせをチェックし続けるのは、リソースの無駄です。 Enter numbers WITH SPACES: 4 4 3 12 enter target integer: 16 yes [(4, 4), (4, 3), (4, 12), (4, 3), (4, …