小编Art*_*mis的帖子

如何打印所有组合N可以写为1、3和4的总和

我需要打印出数字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]

Run Code Online (Sandbox Code Playgroud)

可行,我得到了可以表达N的可能方法的数量,在这种情况下为6,但是我不确定如何打印出所有不同的方法:

  • 1 +1 +1 +1 +1
  • 1 + 4
  • 4 + 1
  • 1 + 1 + 3
  • 1 + 3 + 1
  • 3 +1 +1

任何建议都值得欢迎,谢谢!

python dynamic-programming

1
推荐指数
1
解决办法
66
查看次数

标签 统计

dynamic-programming ×1

python ×1