BalancedArrange

最大数が決まっている時に、最大数で割った余りを最後に配置するよりもバランス良く配置した方がいいんじゃないかという考えの元に、いくつで割り振ればいいかを計算する関数。

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

Return index page