擅长:python、mysql、java
<p>你可以试试</p>
<pre><code>NumbersList = [1,5,9,4,6,8,12,12,1,3,6,8,7,8,2]
def GetNumbers(number):
result = []
for i in sorted(NumbersList, reverse=True):
if sum(result) + i <= number:
result.append(i)
return result
</code></pre>
<p>或者,如果<code>NumbersList</code>较大,则可以通过</p>
<pre><code>def GetNumbers(number):
result = []
for i in sorted(NumbersList, reverse=True):
sum_list = sum(result)
if sum_list + i == number:
result.append(i)
return result
elif sum_list + i < number:
result.append(i)
return result
print(GetNumbers(27))
</code></pre>
<p>输出</p>
<pre><code>[12, 12, 3]
</code></pre>