数字范围是:1 到 100
我希望打印出总和等于 100 的 1 到 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)