我有1到n个硬币。通过使用1到n个硬币,我可以有多少种方法精确地使用k个硬币?例如,我必须使用恰好2个硬币的1,2,3个硬币制作3个硬币。有四种方法: (3,0) (1,2) (2,1) (0,3) 我该如何迭代解决呢?我已经递归解决了。 这是代码:https://paste.ubuntu.com/p/C5sgF8JK23/
答案 0 :(得分:1)
由于这一事实,这似乎是一个基本问题,这里是一个简单易用的伪代码n ^ 2解决方案:
for i in all_available_coins
for j in all_available_coins
if j + i == sum
add to result list
编辑:很抱歉,您提到1到n个硬币,但由于n ^ k复杂性,该解决方案仍然可扩展但效率极低