我有一个可变数量的项目,以及我需要分配它们的可变日期范围。假设我有3个项目,我需要在6天内分发它们。我想要的是每隔一天就有一个项目,如果第一天有一个项目也没关系。如果我在6天内有7件物品,其中一天会得到2件物品,无论哪一天都没关系。
可悲的是,事实证明我真的很厌倦数学,所以我不知道如何以相对漂亮和漂亮的方式做到这一点,或者甚至可能。我可能会以一种黑客的方式解决这个问题,但我也希望从中学到一些东西:P
使用的语言是PHP。
答案 0 :(得分:6)
//If you get the period between items:
$period = $days / $items;
//Then you can iterate through the items:
for ($i = 0; $i < $items; $i++)
{
//and have a function that will add an item to the day number given as a parameter.
add_item_to_day_number(floor($i * $period));
}
答案 1 :(得分:5)
基本上你正在进行除法,然后按顺序分配剩余部分。所以步骤是这样的:
计算项目数
if items&gt;天
如果天数&gt;项目
答案 2 :(得分:0)
(第i天的项目)= floor((i + 1)* items / days) - floor(i * items / days),其中i为0。