Files
2026-03-18 16:56:08 +02:00

32 lines
930 B
Python

import itertools
def calc_remaining_list(nums, comb):
l = nums.copy()
for x in comb:
l.remove(x)
return l
def check_sum(numbers):
print()
for i in range(1, len(numbers) + 1):
for x in itertools.combinations(numbers, i):
x = list(x)
remaining_list = calc_remaining_list(numbers, x)
print(x, sum(x), remaining_list, sum(remaining_list))
if (sum(x) == sum(remaining_list)):
return True
return False
if __name__ == "__main__":
print(check_sum([1, 2, 3, 4])) # True
print(check_sum([1, 2, 3, 5])) # False
print(check_sum([0])) # True
print(check_sum([2, 2])) # True
print(check_sum([2, 4])) # False
print(check_sum([1, 5, 6, 3, 5])) # True
print(check_sum([1, 5, 5, 3, 5])) # False
print(check_sum([10**9, 2*10**9, 10**9])) # True
print(check_sum([1, 1, 1, 1, 1, 1, 1, 1, 1, 123])) # False