我很确定这个问题有一个正式的名称,了解这个名称可能会帮助我找到解决方案,但我不知道它,而且用谷歌搜索时,描述这个问题总是指向0/1 背包问题,这其实与我的问题不同。
我想要取一个值 X,并找出将这个值分成 N 组整数的每种可能组合。
如果我的措辞令人困惑,这里有一个例子:X = 4,N = 3。
我想要取一个值 X,并找出将这个值分成 N 组整数的每种可能组合。
如果我的措辞令人困惑,这里有一个例子:X = 4,N = 3。
Stack -> 1 | 2 | 3 |
----------------------
#1-----> 4 | 0 | 0 |
----------------------
#2-----> 3 | 1 | 0 |
----------------------
#3-----> 2 | 1 | 1 |
----------------------
#4-----> 2 | 2 | 0 |
重复是可以接受的,因为很容易删除,但理想情况下不应计算。解决此问题的算法将是完美的,但即使找出问题的名称也会使研究更加容易。谢谢。
n
个数字,它们的总和恰好为x
?你不想包括少于n
部分的组合/排列?零是否是有效部分?部分的顺序是否重要?同样的部分以不同的顺序是否会重复? - Jodrellx
且大于0
的整数,并且你只想要长度为n
的组合。 - Jodrell