【发布时间】:2019-11-18 13:23:17
【问题描述】:
(重新发帖,因为我之前的帖子没有得到任何回复)
我正在尝试编写一个 Python 代码来生成数字“n”到“k”部分的弱整数组合(分区),但每个分区都有一个 MINIMUM 和 MAXIMUM 值约束(参见下面给出的示例)。此外,分区必须按字典顺序生成。我找到了一些相关的帖子,但一直无法实现。任何帮助将不胜感激。
示例:
k=3 部分中 n=5 的可能整数分区:
[5,0,0], [4,1,0], [4,0,1], [3,2,0], [3,1,1], [3,0,2], .. ., [0,0,5]
在施加分区中每个整数的最小值为 0 和最大值为 3 的约束后,我应该得到:
[3,2,0], [3,1,1], [3,0,2], ...等等,只有。
相关帖子:
Elegant Python code for Integer Partitioning
Generate lexicographic series efficiently in Python
【问题讨论】:
-
解决方案是否必须在 python 中?
-
最好是yes,否则在Python中应该很容易实现。
标签: python combinations combinatorics lexicographic integer-partition