【发布时间】:2019-08-05 12:56:07
【问题描述】:
我需要打印出数字 N 可以表示为 1、3、4 之和的不同方式。
例如 n=5:
- 1 + 1 + 1 + 1 + 1
- 1 + 4
- 4 + 1
- 1 + 1 + 3
- 1 + 3 + 1
- 3 + 1 + 1
我正在使用动态规划解决方案来查找 n 可以写成 1、3、4 之和的可能方式的数量
for i in range(4, n + 1):
DP[i] = DP[i - 1] + DP[i - 3] + DP[i - 4]
return DP[n]
这行得通,我得到了 N 可以表达的可能方式的数量,在这种情况下为 6,但我不确定如何打印出所有不同的方式:
- 1 + 1 + 1 + 1 + 1
- 1 + 4
- 4 + 1
- 1 + 1 + 3
- 1 + 3 + 1
- 3 + 1 + 1
欢迎提出任何建议,谢谢!
【问题讨论】:
标签: python dynamic-programming