Skip to content

Instantly share code, notes, and snippets.

@harel-tussi
Created February 10, 2024 20:07
Show Gist options
  • Save harel-tussi/02ca86532021968478d299b56675a7e5 to your computer and use it in GitHub Desktop.
Save harel-tussi/02ca86532021968478d299b56675a7e5 to your computer and use it in GitHub Desktop.
Recursion Code
example = [[[10, 20], [10, 10]], 40]
def solve(list, index, sum, item_desired_value):
print(list, index, sum, item_desired_value)
if index >= len(list):
return sum == 0
item = list[index]
if isinstance(item, int):
if item != item_desired_value:
return False
return solve(list, index + 1, sum - item_desired_value, item_desired_value)
else:
is_divisioned = solve(item, 0, item_desired_value,
item_desired_value / len(item))
if not is_divisioned:
return False
return solve(list, index + 1, sum - item_desired_value, item_desired_value)
def main(list, total):
return solve(list, 0, total, total / len(list))
print(main(example, 80))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment