剰余(mod)計算機

整数どうしの割り算で、0以上の余りと整数の商を求めます。

計算は端末内で行われ、入力値をサーバーへ送りません。

具体例

17を5で割ると、商は3、0以上の余りは2です。−17を5で割った場合の余りは3です。

計算方法・仕組み

ユークリッド除法を使います。被除数 = 除数 × 商 + 余り で、余りは0以上かつ除数の絶対値より小さくなります。入力は正確な整数として扱います。

注意事項

除数に0は使えません。負の数も入力でき、浮動小数点数ではなく整数演算で計算するため、非常に大きな整数でも正確です。

繰り返しの位置を余りで求める

0〜6の7つの位置が繰り返される場合、位置17は 17 = 7 × 2 + 3 なので位置3に戻ります。余りが0なら割り切れています。周期的な予定、グループ分け、インデックスの折り返しに使えます。ただし0始まりの位置0は最初の位置であり、7番目という意味ではありません。

商と余りの両方で検算する

被除数 = 除数 × 商 + 余り、かつ 0 ≤ 余り < |除数| を満たします。この式に結果を戻して、元の被除数になるか確認できます。被除数と除数は負でも使えます。下の例は、負の入力でも余りを0以上に保つために商がどう変わるかを示しています。

プログラミング言語の%との違い

言語によっては%が符号付きの剰余を返します。例えばJavaScriptの -17 % 5 は-2ですが、このユークリッド除法の計算機では3です。コードへ結果を使う前に、必要な定義を確認してください。整数は大きな桁数でも厳密に処理しますが、小数や桁区切り記号は受け付けません。

具体例 · 計算方法・仕組み
具体例結果
17 ÷ 517 = 5 × 3 + 2
−17 ÷ 5−17 = 5 × (−4) + 3
17 ÷ (−5)17 = (−5) × (−3) + 2
−17 ÷ (−5)−17 = (−5) × 4 + 3
20 ÷ 520 = 5 × 4 + 0

MDN · Remainder (%)

よくある質問

剰余は何に使いますか?

割り切れるかの判定、繰り返しの周期での折り返し、1行おきの処理、グループ分け、周期の中での位置を求めるときによく使います。

被除数が負のとき、余りが負にならないのはなぜですか?

このツールはユークリッドの定義を採用しているため、余りは常に0から「除数の絶対値−1」の範囲になります。プログラミング言語の剰余演算子は符号付きで、結果が異なる場合があります。

小数を入力できますか?

いいえ。このツールの剰余と商は整数の入力に対して定義しています。カンマ、空白、小数点を付けずに整数を入力してください。

関連ツール