开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
Dev C++
问题(Question):
解出 X_1 + X_2 + ... + X_n = 5 的非负整数解 (n>=5)
存成 (n+4)/(n!*4!) * n 的矩阵
预期的正确结果(Expected Output):
Ex. n=7
那解集合有
5 0 0 0 0 0 0
4 1 0 0 0 0 0
4 0 1 0 0 0 0
...
0 0 0 0 0 1 4
0 0 0 0 0 0 5
补充说明(Supplement):
爬文找到版友滴文章,似乎都是以背包问题印出结果
且不考虑同一解的排列,但在我的问题中变量是不同的
i.e. X_1=5, X_2~X_7=0; ... ;X_1~X_6=0,X_7=5 是视为不同解
目前想用递回背包问题的程式
在原解尾端补零后,用 Algorithm 里头的 Permutation 尝试解决
但总觉得一定有更快的方法,不晓得版大们能不能给一些建议呢?