在X部分中等分整数

Jea*_*ray 6 php math

我正在寻找一种有效的PHP方法来将数字分成相等的部分.Number将始终为整数(无浮点).

假设我有一个数组$ hours,其值从"1"到"24"($ hours ['1']等)和一个包含整数的变量$ int.我想要实现的是将$ int的值平均分配到24个部分中,这样我就可以为每个相应的数组条目赋值.(如果数字是奇数,则剩余部分将被添加到24中的最后一个或第一个值).

问候,

Fre*_*Foo 18

这是你正在寻找的算法; 它将整数均匀地分布NK单元格上:

for i = 0 to K
    array[i] = N / K    # integer division

# divide up the remainder
for i = 0 to N mod K
    array[i] += 1
Run Code Online (Sandbox Code Playgroud)

  • @Jean-PhilippeMurray:那么您的测试并未涵盖所有适当的情况。当您将 N 除以 K 时,您会得到 N mod K 的余数,这就是您需要在数组上“涂抹”的内容。在某些情况下,例如 N=3 和 K=2,N/K == N mod K,但通常不是。 (2认同)