【发布时间】:2021-04-18 00:29:07
【问题描述】:
相当简单的想法,但在代码中更难(对我来说)。
我想知道有多少组合来计算一个数字 X 给定我可以计算的数字。
这是一个例子:
>>> calculate(5, (1,2,5))
4
>>> calculate(42, (1,2,5,10,20))
271
第一个例子给出 4 因为:
- 5
- 2 + 2 + 1
- 2 + 1 + 1 + 1
- 1 + 1 + 1 + 1 + 1
我很确定这可以使用动态编程或递归记忆快速完成,但想不出一种开始整个事情的方法。
编辑
我想这样做:Find all combinations of a list of numbers with a given sum 但是由于一些未知的原因,大多数代码都不起作用,而其他代码甚至无法执行我给出的简单示例 5 或 42 之类的数字。
【问题讨论】:
-
你应该探索排列组合
-
这正是我想要的,但这些代码不起作用,有些根本不起作用,有些适用于某些数字但不是全部(他们没有做我给出的简单示例,例如)
标签: python combinations