需求1: 假设数量为1w,给定参数5 代表每个分配为5,最后分配给剩余的
也就是10 传递为1 ,那么将产生10个
currentNum代表当前的产生的,可以add进去
int index = 0;
int splitNum =100;
int total=50000;
int remainder = total;
while (remainder > 0)
{
int currentNum = 0;
if (remainder - splitNum < 0)
{
currentNum = remainder;
remainder = 0;
}
else
{
remainder -= splitNum ;
currentNum = splitNum ;
}
需求2:
假设 总数为100,
给定参数30 就代表最多产生30容器,给100数量平均分配给30个容器
假设总数为10,给定参数为2 ,那么会产生2个数组 , 每个为5,
如果给定为3 ,那么是3个数组, 3 ,3 ,4
int num=1100;
int splitnum=30;
int avg = num/ splitnum;
int remainder = num% splitnum;
// 将平均数分配给所有变量
int[] vars = new int[splitnum];
for (int i = 0; i < splitnum; i++)
{
vars[i] = avg;
}
// 将余数分配给前面的变量
for (int i = 0; i < remainder; i++)
{
vars[i]++;
}
网友评论