3
數範圍之間是:1至100找到並打印每一個獨特的組合,總計爲100,並返回所有這些組合的計數數字1和100
我想打印出每獨特組合1到100之間,其總和爲100,最後這樣的組合 例如計數:
[1,99]
[1,2,97]
[1,2,3,4,5,85]
所以,我需要兩兩件事:
- 打印各有效組合
- 回報這樣的組合
這裏數量的最終計數是我一直沒有成功到目前爲止已經試過:
count = 0
def get_count(target, data_range, current_sum):
global count
for num in data_range:
current_sum += num
if current_sum > target:
break
elif current_sum == target:
count += 1
current_sum = 0
elif current_sum < target:
get_count(target, range(num + 1, 101), current_sum)
return count
get_count(target = 100, data_range = range(1,101), current_sum = 0)
http://en.wikipedia.org/wiki/Subset_sum_problem – devnull
我diagree這是一個確切的重複數據刪除技術。它可以歸結爲鏈接的問題,但在這裏 - 你有一個額外的限制。給定的數字集合是[1,2,...,100] - 而不是任意集合。 – amit