擅长:python、mysql、java
<p>把所有的组合相乘,然后加到一个集合中。你知道吗</p>
<pre><code>import itertools
def multiplyList(myList):
# Multiply elements one by one
result = 1
for x in myList:
result = result * x
return result
factors=set()
stuff = [2, 2, 3, 5, 5]
for L in range(0, len(stuff)+1):
for subset in itertools.combinations(stuff, L):
factors.add(multiplyList(subset))
factors=list(sorted(factors))
print(factors)
</code></pre>
<p>其工作原理如下:</p>
<pre><code>[1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 25, 30, 50, 60, 75, 100, 150, 300]
</code></pre>