使用此示例:
var amount = x;
var maxPerGroup = y;
var amountGroups = Ceiling(amount/maxPerGroup);
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我如何将Amount分配到AmountGroups中,每组maxAmount的最大数量是多少?这些组的大小几乎相同.
例如:金额= 45; maxPerGroup = 15; amountGroups = 3;
结果:15 15 15
我使用C#作为语言.
提前致谢!
注意 不是精确的 c# 只是为了给你这个想法。
我认为您正在寻找一种在语法上将数字划分为不同组的方法。不知道组有多大以及组的随机数量。
假设 x = 30 y = 15。30/15 = 3 组 15,假设 x= 43 那么数字应该是这样的?14 14 15
groups (since you already have this calculated correctly)(should be a double)
// maxPerGroup = y
membersPerGroup = floor(amount/groups)
List a = new List
//Is the leftover value of the modulus
leftover = amount%groups;
//Loops for each group
for(int i=0;i<groups;i++){
//If there is a left over value
if(leftover>0){
a.Add(membersPerGroup +1);
leftover--;
}else{
a.Add(membersPerGroup );
}
}
Run Code Online (Sandbox Code Playgroud)
我可以用正确的 c# 编写,但似乎你找到了正确的代码