ForHosting KIT · 数学

乗法逆元 modulo n

nを法とする掛け算を打ち消す数を求めます。11を法とする3の逆元は4で、3 × 4 = 12を11で割ると余りが1になるためです。逆元があるのは、整数と法が共通の約数を持たないときだけです。ブラウザで無料で使えます。

  • 無料
  • ブラウザで動作
  • 登録不要
  • データは端末の外に出ません
ご利用方法 ウェブAPIメールTelegramアプリ 近日
入力した場合
整数
3
絶対値
11
結果
剰余
3
逆関数
4
Gcd
1
検算
1

整数の法 n における乗法逆元とは、整数と inverse の積が法 n で 1 と合同になる剰余 inverse のことです。この逆元は、整数と法が互いに素であるとき、つまり最大公約数が 1 のときに限り存在します。暗号の教材、RSA の秘密鍵手順、競技プログラミングでのモジュラ除算、巡回群の計算などはこの演算を必要としますが、多くの言語は二進 GCD だけを公開し、Bézout 係数は呼び出し側に任せます。手順をやり直さなくても結果を確認できます。

乗法逆元 modulo n とは何か、いつ存在するか

通常の算術では 0 以外の数はすべて乗法逆元を持ち、それで割ると 1 になります。モジュラ算術では同じ考えが合同式になります。整数と inverse の積を法で割った余りが 1 のとき、inverse をその整数の法 n における乗法逆元と呼びます。

剰余は n ごとに周るため、すべての整数にそのような inverse があるわけではありません。障害は浮動小数ではなく数論的です。d を整数と法の gcd とし d が 1 より大きいと、整数と任意の候補の積は d の倍数になり、d の倍数でない 1 とは決して合同になりません。

逆に Bézout の恒等式は、その gcd が 1 のときちょうど整数×x+法×y=1 となる整数 x, y を保証し、x を法 n で還元すると inverse が得られます。

有限環での除算、公開指数を N の phi の法で逆にする RSA 復号指数の選択、ハッシュ処理でのモジュラ乗算の取り消し、競技プログラミングでの一次合同式の解法などで、技術者はこの条件に出会います。互いに素でない対に明示的なエラーを返す方が黙った失敗より有用です。

クライアントは inverse が存在しないと分かり、どのライブラリが誤った剰余を返したかを推測する代わりに gcd で分岐できます。本計算機は互いに素でない対を無効入力として扱い、後の合同検査を壊す仮の inverse は返しません。

本計算機が拡張ユークリッド法をどう実行するか

実装はまず整数を 0 から n−1 の非負剰余類 residue に還元し、residue と modulus の対に拡張ユークリッド法を適用します。各段で整数商を記録し Bézout 係数を更新し、終了時に residue の係数 × residue + 法の係数 = gcd となります。

gcd が 1 なら residue の係数を 0 から n−1 に還元して inverse として返します。絶対値は 1 兆で上限し、モジュラ積の中間倍加が JavaScript の安全整数範囲内に収まるようにします。負の整数は受け付け、ユークリッドループの前に還元します。

マイナス 3 を法 11 で入れると residue 8 として扱い、その類で逆元を求めます。

実用、制限、料金、提供形態

暗号のメモを読むとき、宿題の合同式を確かめるとき、モジュラ乗算の手順をデバッグするときに素早く inverse が欲しければブラウザツールを使ってください。検証失敗と互いに素でない対は残高を消費しません。受け付ける入力は絶対値が最大 1 兆の整数と、2 から 1 兆までの法です。

結果は決定的で、同じ対は常に同じ inverse と check を返します。対を公開範囲内に保ち、互いに素でないエラーをテストの第一級結果として扱い、宿題、LMS プラグイン、エッジワーカー向けに再現可能な inverse を、自前の数式処理系なしで得られます。

暗号と RSA の教材ラボ

教員と学生は公開指数を φ(N) の法でその場で逆にし、サンプル法が指数と互いに素でないときの gcd を確認できます。

競技プログラミングとモジュラ除算

競技プログラマーは素数・合成数の法でのモジュラ除算を検証する際、場当たり的な拡張 GCD 断片を 1 回の決定的呼び出しに置き換えられます。

どの手順で逆元を求めますか?

拡張ユークリッド法です。還元済み residue と法の Bézout 係数を求め、gcd が 1 のとき residue の係数を 0..n−1 に還元します。

整数と法に共通の約数があるとどうなりますか?

その場合は逆元が存在しません。計算ツールは2つの数と最大公約数を示すメッセージで知らせ、合同式を満たさない値を作り出すことはしません。

逆元が正しいかどうか確かめるには?

nを法として整えた整数に逆元を掛け、nで割った余りが1になるかを見ます。この確認は、整えた整数や最大公約数と一緒に結果の横に表示されます。

どんな数を入力できますか?

絶対値が1兆までの整数で、負の数も使えます。法は2以上です。整数はまず0からn−1までの余りに直され、逆元もその範囲で返ります。

nを法とする逆元はどんな場面で使いますか?

RSA暗号の鍵を求める手順の学習、剰余の世界での割り算、巡回群の計算などで必要になります。数学の授業や問題演習での答え合わせにも役立ちます。

このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。

POSThttps://api.kit.forhosting.com/math/multiplicative-inverse-modulo

Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。

curl -X POST https://api.kit.forhosting.com/math/multiplicative-inverse-modulo \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"integer":3,"modulus":11}'
{
  "integer": 3,
  "modulus": 11
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "math.multiplicative_inverse_modulo",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。

1リクエストあたり$0.002

単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。

max_abs1000000000000
HTTPコード意味
401unauthorizedAPIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。
402insufficient_balance残高が不足しています。チャージ後に再度お試しください。
404unknown_type指定されたタスクタイプは存在しません。タイプ名を確認してください。
429rate_limitedリクエストが多すぎます。しばらく待ってから再度お試しください。

本計算機は integer と modulus を受け取り、拡張ユークリッド法を決定的に実行し、0 から n−1 の範囲の一意な非負 inverse と、還元済み residue、gcd、検算用の check 積を返します。

本計算機が拡張ユークリッド法をどう実行するか

整数フィールド integer と modulus(modulus は 2 以上)で capability を呼び出します。その gcd が 1 でなければ、両方の入力と gcd を示すメッセージ付きで invalid_input により失敗し、課金されません。応答は integer, modulus, residue, gcd、および residue × inverse mod n に等しい check(成功時は 1)も返します。同じ純粋関数が無料のブラウザツールと API 経路を支えます。

実用、制限、料金、提供形態

スクリプト、採点器、教育プラットフォームが拡張 GCD ルーチンを埋め込まずに多数の逆元を必要とするときは API を使います。成功した各要求は $0.002 の請求単位 1 件です。RSA 教材のサンドボックス、有限環デモ、競技プログラミング補助、近似ヒューリスティックより厳密算術を好む整数パイプラインに endpoint を接続できます。単位は 1 件でエンジンは純粋な parse のため遅延は低く、無料 Web 経路は有料 API を第二のコード経路なしで反映します。

宿題チェッカーと数論パイプライン

自動採点器とスクリプトは逆元を確認し、invalid_input で互いに素でない入力を検出し、中間積を文書化された範囲内に保てます。

整数の法 n における乗法逆元をこの API でどう求めますか?

整数フィールド integer と modulus(modulus ≥ 2)の JSON を送ってください。成功時は 0..n−1 の inverse と residue、gcd、1 に等しい check が返ります。

整数と法が互いに素でないと API はどう応答しますか?

要求は invalid_input で失敗します。メッセージに gcd(integer, modulus) が含まれ、乗法逆元が存在しない理由が分かります。検証失敗は課金されません。

乗法逆元 modulo n の計算は無料ですか?

ブラウザ上の widget はお使いの端末で無料です。API 呼び出しは成功 1 件あたり $0.002 の前払い KIT 残高を使います。無効な integer や modulus、互いに素でない対は課金されません。

integer と modulus のどの範囲が受け付けられますか?

integer は絶対値が最大 1 兆の任意の有限整数です。modulus は 2 から 1 兆までの整数でなければなりません。整数でない値は拒否されます。

KITの完全なドキュメントを見る →