-1

g_new如果我想对“n”值列表进行分区,我想找到最大组大小。我们可以有任意数量的组。

我有: n值和可能的最大组大小g_max

例如

n = 110g_max = 25

我们不能组成大小的团体:[28,28,27,27]因为任何团体都不应超过 25 人!

在这里,解决方案是,g_new可以是 22。因为它将形成 5 个组,每组 22 个。

我的问题是:

我怎样才能动态地找到这个g_new(这里是22)值,给定:ng_max

请注意,我想在不违反的情况下组建尽可能多的团体g_max

对不起,如果这个问题太简单了,但我无法理解它。

4

1 回答 1

1

假设您的意思是 n=110 并且希望组大小最多相差 1,您可以首先计算所需组的向上取整数,然后计算向上取整的组大小:

>>> n, g_max = 110, 25
>>> -(n // (-n // g_max))
22
>>> n, g_max = 110, 36
>>> -(n // (-n // g_max))
28
于 2021-08-25T01:17:55.350 回答