擅长:python、mysql、java
<p>试试这个</p>
<pre><code>n = int(input("between 2n75: "))
prime = []
for x in range(2, n+1):
for i in range(2, x):
if x % i == 0:
break
else:
prime.append(x)
listprimes = (prime)
#n = int(input("between 2n75: "))
#print(listprimes)
def allways(n, listprimes):
ways = [[prime] for prime in listprimes]
new_ways = []
collected = []
while ways:
for way in ways:
s = sum(way)
if s == prime:
collected.append(way)
for prime in listprimes:
if prime >= way[-1]:
if s + prime < n:
new_ways.append(way + [prime])
elif s + prime == n:
collected.append(way + [prime])
ways = new_ways
new_ways = []
return collected
print(allways(n, listprimes))
</code></pre>