剰余計算(mod)ツール
剰余計算は、割り算の余りを求める計算です。17 mod 5 = 2(17 = 3 × 5 + 2 のため)のように求められます。このツールは、大きなべき乗の mod m(繰り返し二乗法)やモジュラ逆元も、60桁までの整数で正確に計算し、途中の手順も表示します。
計算方法
「a mod m」は、a を m で割ったときの余りです。17 = 3 × 5 + 2 なので 17 mod 5 = 2 です。剰余計算は「時計の計算」とも呼ばれ、12時間たつと数え直すので、15時は3時と同じ(15 mod 12 = 3)になります。
1つのツールで3種類の計算
- 余り:割り算 a = q × m + r を示します。負の数では、数学上の定義(余りは常に0以上)と、多くのプログラミング言語が返す値の違いも表示します。
- べき乗の mod m:413 mod 497 を普通に展開するのは大変です。繰り返し二乗法では各段階で mod m をとるため、60桁の指数でもすぐに計算できます。RSA 暗号の基礎となる計算です。
- モジュラ逆元:a の mod m での逆元は、a × x ≡ 1 (mod m) を満たす x です。a と m が互いに素のときだけ存在し、拡張ユークリッドの互除法で求められます。
どんな場面で使うの?
曜日の計算(mod 7)、IBAN や ISBN のチェックディジット、暗号、ハッシュテーブルなどで使われます。最大公約数は最大公約数・最小公倍数、ずらし暗号(mod 26)はシーザー暗号で確認できます。
よくある質問
modとは何ですか?
a mod m は、a を m で割った余りのことです。17 mod 5 = 2、20 mod 5 = 0 です。余りが等しい2つの数は、m を法として合同といいます。
modを手計算で求めるには?
m の倍数を引き、0 以上 m−1 以下になるまで続けます。100 mod 7 なら 100 − 98 = 2 です(98 = 14 × 7)。
5 mod 0 はいくつですか?
0で割ることはできないため定義されません。このツールではエラーを表示します。
大きなべき乗の mod はどう計算しますか?
繰り返し二乗法を使います。底を順に二乗しながら(毎回 mod m)、2進数の指数が1の位置の結果を掛け合わせます。表に各段階を示します。
モジュラ逆元はいつ存在しますか?
a と m の最大公約数が1のときだけです。mod 11 では1〜10のすべての数に逆元がありますが、mod 9 では6に逆元がありません。
出典・根拠
- Wikipedia – Modulo (Rest, Vorzeichenkonventionen)
- Wikipedia – Modular exponentiation (Square-and-multiply)
- Wikipedia – Extended Euclidean algorithm (modulares Inverses)
更新日: · 編集方針
関連ツール
- 最大公約数・最小公倍数の計算2つ以上の数の最大公約数と最小公倍数を計算。素因数分解、ユークリッドの互除法、すべての公約数、約分した分数まで途中式つきで表示します。
- 素数の一覧と判定ツール素数を一覧表示・判定・n番目の素数の検索まで1つで。1000万までの素数を数え、双子素数や素数の間隔、判定の途中式も表示します。登録不要・無料でご利用いただけます。
- シーザー暗号の変換ツールシーザー暗号をブラウザで変換:好きな文字数だけずらして暗号化・復号、ROT13の利用、ずらし幅が不明な暗号文を25通り一気に試して解読までできます。無料です。
- 割り算の筆算割り算の筆算と掛け算の筆算を手順つきで表示。商・あまり・検算に対応し、小数点以下の桁も指定できます。宿題の確認や練習にどうぞ。無料で登録不要です。
- オンライン電卓無料のオンライン電卓。アプリ不要で、スマホでもパソコンでも入力するとすぐ答えが出ます。四則演算の優先順位、かっこ、パーセント、ルート、途中式と履歴に対応。
- 長方形を計算縦・横・対角線・周囲の長さ・面積のうち好きな2つを入力すると、残りをすべて計算します。公式つきで、登録不要・ブラウザですぐ使えます。
- 三次方程式の計算三次方程式 ax³ + bx² + cx + d = 0 を計算します。実数解と複素数解を求め、判別式、因数分解の形、各解の検算まで表示します。
- 効果量 計算効果量を計算。平均・標準偏差・人数からコーエンのdとヘッジスのgを求め、信頼区間、分布の重なり、目安の判定まで表示。登録不要でスマホでも使えます。
- コラッツ予想計算ツールコラッツ予想の計算ツール。1に到達するまでのステップ数、最大値、偶数・奇数ステップ、数列全体、指定範囲での最長記録の初期値を表示します。無料・登録不要。