整数Nを超えないMの倍数の求め方
N=7,M=3で考える。
0から7の間に3を何回加算できるか考えると
7 / 3 = 2
2回なので
3 × 2 = 6
と求めることができる。
Nが負の場合で同じ式に当てはめると
N=-7,M=3で考える。
-7 / 3 = -2
3 × -2 = -6
と求まる。
この値は-7を超えた値となる。
欲しい値は-9であった。
つまりNが負の数では成立しない。
N以下の倍数Mの値との距離は以下の式で求めることができる。
(N % M + M) % M ・・・・・・・・・・①
①を用いると
-7 - (-7 % 3 + 3) % 3 = -9
と想定通りの値を得られる。
Nが正の場合でも成立する。