def get_split_sum(num):
arr = [[[] for i in range(num+1)] for j in range(num+1)]
for j in range(num+1):
arr[j][j] = ["{}".format(j)]
for m in range(1,num+1):
for n in range(m-1, 0, -1):
arr[m][n] = ["{}+{}".format(n, xx) for xx in arr[m-n][n]] + arr[m][n+1]
return arr[num][1]
tmp=get_split_sum(1000)
print(tmp,len(tmp))
這段代碼是求和為1000的數的所有情況
我的這臺小破電腦只能跑到97

大家都什么情況
uj5u.com熱心網友回復:
跑70 已經有 4087968種組合, 存了35761339個元素跑80 已經有 15796476 種組合, 存了 144755665 個元素
幾何增長, 我跑到85就提示記憶體不夠咯。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/48387.html
