我有一个可变数量的项目,以及我需要分配它们的可变日期范围.假设我有3个项目,我需要在6天内分发它们.我想要的是每隔一天就有一个项目,如果第一天有一个项目也没关系.如果我在6天内有7件物品,其中一天会得到2件物品,那么哪一天也无关紧要.
可悲的是,事实证明我真的很厌倦数学,所以我不知道如何以相对漂亮和漂亮的方式做到这一点,或者甚至可能.我可能会以一种黑客的方式解决这个问题,但我也希望从中学到一些东西:P
使用的语言是PHP.
//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));
}
Run Code Online (Sandbox Code Playgroud)
基本上你正在进行除法,然后按顺序分配剩余部分.所以步骤是这样的:
计算物品数量
如果物品>天
如果天>物品