擅长:python、mysql、java
<p>{1>尝试在CDS之外检查理解力:</p>
<pre><code>import itertools
def func(n,l):
return [a for i in [itertools.product(l,repeat=x) for x in range(1,6)] for a in i if sum(a) == n]
print(func(5,[1,2,5]))
</code></pre>
<p>输出:</p>
^{pr2}$
<p>如果需要名单:</p>
<pre><code>print(list(map(list,func(5,[1,2,5]))))
</code></pre>
<p>输出:</p>
<pre><code>[[5], [1, 2, 2], [2, 1, 2], [2, 2, 1], [1, 1, 1, 2], [1, 1, 2, 1], [1, 2, 1, 1], [2, 1, 1, 1], [1, 1, 1, 1, 1]]
</code></pre>