gpt4 book ai didi

java - 将 'items' 平均分配到桶中(尽力而为)

转载 作者:搜寻专家 更新时间:2023-11-01 04:04:19 25 4
gpt4 key购买 nike

假设我想将 y 个项目平均分配到 x 个桶中。如果 xy 的倍数,则此分布将是均匀的,否则我可以在每个桶中得到 0 项。例如:

例如:我有 3 个桶,我想每个分发 2 个项目。由于执行除法 (2/3) 将导致每个桶有 0 个项目。如何实现 110 的分布?

最佳答案

这种想法应该行得通:

package sandbox;

public class Sandbox
{

public static void main(String[] args)
{
int numBuckets = 12;
int numItems = 34;

int itemsPerBucket = (numItems / numBuckets);
int remainingItems = (numItems % numBuckets);

for (int i = 1; i <= numBuckets; i++)
{
int extra = (i <= remainingItems) ? 1:0;
System.out.println("bucket " + i + " contains " + (itemsPerBucket + extra) + " items.");
}
}
}

这个的输出:

bucket 1 contains 3 items.
bucket 2 contains 3 items.
bucket 3 contains 3 items.
bucket 4 contains 3 items.
bucket 5 contains 3 items.
bucket 6 contains 3 items.
bucket 7 contains 3 items.
bucket 8 contains 3 items.
bucket 9 contains 3 items.
bucket 10 contains 3 items.
bucket 11 contains 2 items.
bucket 12 contains 2 items.

请注意,您所做的唯一循环是谈论每个桶。您可以轻松地询问一个桶号,然后无需循环即可查看其中有多少元素!

关于java - 将 'items' 平均分配到桶中(尽力而为),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21713631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com