最大数が決まっている時に、最大数で割った余りを最後に配置するよりもバランス良く配置した方がいいんじゃないかという考えの元に、いくつで割り振ればいいかを計算する関数。
function BalancedArrange(Items, MaxItemsPer: Integer): Integer;
var
Per: Integer;
begin
Per := (Items + (MaxItemsPer - 1)) div MaxItemsPer;
Result := (Items + (Per - 1)) div Per;
end;
Items = 41 MaxItemsPer = 10 9 8 8 8 8 //BalancedArrange 9 9 9 9 5 //BalancedArrange' 10 10 10 10 1 //not BalancedArrange