<p>我想解决这个问题已经一个多月了。
我有一个数字和这些变量的列表:</p>
<pre><code>list_num = [1, 1, 2, 3, 5, 6, 1, 1, 3, 4, 4]
#x is number of numbers in combination eg. if x = 5 combiantions will look like this [n,n,n,n,n], where n is possible member of list _num
x = 5
#y is a sum of numbers inside combination
y = 10
</code></pre>
<p>我需要生成这些数字的所有可能的组合,因为<strong><code>x</code></strong>是组合中的数字的数目,<strong><code>y</code></strong>是组合中的数字之和,还必须考虑<strong><code>list_num</code></strong>中的重复次数。在</p>
<p>我可以通过生成所有可能的组合来做到这一点,并消除那些不由我的规则决定的组合,但这种方法很混乱,我不能在大量数据中使用它。在我的原始程序中,<strong><code>list_num</code></strong>可以有数百个数字,<strong><code>x</code></strong>和<strong><code>y</code></strong>可以有大的值。在</p>
<p>本例的几个组合:</p>
^{pr2}$
<p>我会很感激一些新的想法,我已经没有了:)</p>