【发布时间】:2018-06-08 08:58:45
【问题描述】:
我正在尝试写一个有输入的函数:
given_num=6, n=3
如何将所有可能组合的结果作为包含 n 个元素且 sum = given_num 嵌套在列表中的列表返回:
[[0,0,6],[0,1,5],[0,2,4],[0,3,3],[0,4,2],[0,5,1],[0,6,0],
[1,0,5],[1,1,4],[1,2,3],[1,3,2],[1, 4,1],[1,5,0],
...
[6,0,0]]
解决了,可能的组合计算为
factorial(given_num+n-1)/(factorial(given_num) * factorial(n-1))
【问题讨论】:
-
你有什么尝试吗?它有什么问题?
-
@Georgy ,感谢链接,考虑到我正在处理优化问题,生成器解决方案对于较大的 given_num 或 n 可以节省时间。
标签: python iterator combinations