我想找到最大组大小g_new
如果我想对"n"值列表进行分区。我们可以有任意数量的组。
我有:n
值和最大组规模可能g_max
。
例如
n = 110
和g_max = 25
.
我们不能组成大小的组:[28,28,27,27]
因为任何组都不应该超过 25 个!
在这里,解决方案是,g_new
可以是 22。 因为它将形成 5 组,每组 22 个。
我的问题是:
我如何动态找到这个g_new
(此处为 22)值,给定:n
和g_max
请注意,我想在不违反g_max
的情况下组建尽可能大的团体!
对不起,如果这个问题太简单了,但我无法理解它。
假设您的意思是 n=110 并且希望组大小最多相差 1,您可以先计算所需组的向上舍入数,然后计算向上四舍五入的组大小:
>>> n, g_max = 110, 25
>>> -(n // (-n // g_max))
22
>>> n, g_max = 110, 36
>>> -(n // (-n // g_max))
28