ルジャンドル記号 (a/p)
ルジャンドル記号 (2/7) は1なので、2は7を法とする平方です。3と3を掛けた9を7で割ると余りが2になります。整数と奇素数を入力すると、1、−1、0 のいずれかと、その意味が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- A
- 2
- 電力(W)
- 7
- A 剰余
- 2
- 記号
- 1
- 解釈
- a is a quadratic residue modulo p
ルジャンドル記号は、奇素数を法とする二次剰余性の標準的な数論的判定です。整数 a と奇素数 p に対し、記号 (a/p) は p が a を割るとき零、a が p を法とする非零の平方のとき一、二次非剰余のときマイナス一です。暗号の講義、素数関連アルゴリズム、三次・二次相互律の証明、競技プログラミング問題はいずれもこの三値指標に依ります。多くの言語は合同累乗を提供しますが、剰余性の規約と素数確認は利用者に委ねます。本計算機は a と p を受け取り、p が奇素数であることを検証し、オイラーの判定を決定的に適用し、記号とともに a の還元剰余と短い解釈を返すので、合同べきを手で再導出せずに結果を使えます。
ルジャンドル記号の意味と重要性
合同算術では「x の平方が a と p を法として合同となる整数 x は存在するか」が基本的な問いです。p が奇素数のとき答えは三つのきれいな場合に集約されます。a が p で割り切れるなら記号は零と定義されます。
a が p で割り切れないなら、非零剰余の半分は平方(二次剰余)、残りは非剰余であり、ルジャンドル記号は剰余に対しプラス一、非剰余に対しマイナス一です。
この三値分割は二次相互律、ある種のディオファントス方程式が解を持たないことの証明、Tonelli–Shanks 平方根アルゴリズムの解析、オイラーの判定と主張されたヤコビ値を比較する Miller–Rabin および Solovay–Strassen の教科書的提示に現れます。合成数や偶数の法を拒否することは契約の一部です。
ルジャンドル記号はそれらには定義されず、ヤコビ風の静かな拡張はルジャンドルを明示的に求めた利用者を誤解させます。
活用例
暗号・数論の教育ラボ
講師と学生は奇素数を法とする二次剰余性をオンデマンドで確認でき、サンプル法が合成数や偶数のとき明示的なエラーを見られます。
競技プログラミングと相互律の確認
競技者は相互律問題を解く際や平方根 mod p の手順が正当かを検証する際にルジャンドル値を確認できます。
よくある質問
p が奇素数でないとどうなりますか?
メッセージは p が奇素数でなければならないと述べます(例:p が偶数または合成数)。失敗した検証は課金されません。
どのアルゴリズムが記号を計算しますか?
オイラーの判定:(a/p) ≡ a^((p−1)/2) (mod p)。a を p で還元し p が奇素数であることを確認したうえで、正確な整数算術で合同べきを評価します。
a と p の受理範囲は?
p は 3 から 1,000,000,000,000 までの奇素数です。a は絶対値が同じ上限以下の整数です。範囲外の値や合成数・偶数の p は拒否されます。
2は7を法とする平方剰余ですか?
はい。ルジャンドル記号 (2/7) は1で、7で割った余りが2になる平方数があることを表します。例えば3の2乗は9で、9を7で割ると余りは2です。
ルジャンドル記号が0になるのはどんな場合ですか?
p が a を割り切るとき、つまり a が p の倍数のときだけです。それ以外では、a が p を法とする平方なら1、そうでなければ −1 になります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/numth/legendre-symbol \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":2,"p":7}'const res = await fetch("https://api.kit.forhosting.com/numth/legendre-symbol", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 2,
"p": 7
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/legendre-symbol",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 2,
"p": 7
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/legendre-symbol", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":2,"p":7}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":2,"p":7}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/legendre-symbol", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"a": 2,
"p": 7
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.legendre_symbol",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_abs | 1000000000000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
ルジャンドル記号の意味と重要性
symbol・a_mod・interpretation を持つ構造化オブジェクトを返すことで、呼び出し側は生の合同べきを慣例集合 {−1, 0, 1} に写像する手間と、p が二である場合が古典定義から除外されることを忘れる危険を避けられます。
オイラーの判定による (a/p) の評価
p は 3 以上 1 兆以下の奇素数、a は絶対値が 1 兆以下の整数である必要があります。実装はまず型と範囲を検証し、次に p に対する決定的試行除算素数判定を行います。オイラーの判定は a の (p−1)/2 乗がルジャンドル記号と p を法として合同であると述べます。計算機はその合同べきを正確な BigInt 算術で計算し、公開範囲内で中間積が精度を失わないようにします。整数フィールド a と p で能力を呼び出してください。偶数、合成数、p が二の場合はすべて invalid_input と p を名指しするメッセージで失敗し、課金されません。p が受理されると a は 0 から p−1 の a_mod に還元されます。a_mod が零なら記号は零、べきが一なら記号は一、べきが p−1 なら記号はマイナス一です。それ以外のべきは非素数法を示し安全のため invalid_input とします。応答には a、p、a_mod、symbol、residue(記号が零のとき true・false または null)、interpretation が含まれます。
実用・制限・料金・提供
暗号ノートを読みながらの素早い剰余性確認、課題の合同の検証、平方根 mod p ルーチンのデバッグにはブラウザツールをご利用ください。受理される入力は絶対値が 1 兆以下の整数 a と 3 から 1 兆までの奇素数 p です。合成奇数法向けヤコビ記号や記号が一のときの明示的合同平方根が必要な場合は専用能力またはアルゴリズムを使い、本ツールは意図的にルジャンドルの三値分割で止まります。スクリプト・採点器・教育プラットフォームがオイラー判定と素数ゲートを埋め込まずに多数のルジャンドル評価を必要とする場合は API をご利用ください。成功リクエストは各 $0.002 の課金品目で、検証失敗と非素数法は残高を消費しません。結果は決定的で、同じ対は常に同じ記号・同じ a_mod・同じ解釈文字列を生みます。二次相互律デモ、競技プログラミング支援、暗号教育サンドボックス、近似ヒューリスティックより正確算術を好む整数パイプラインにエンドポイントを接続できます。単位は単一品目でエンジンは純粋 parse のため、遅延は低く無料ウェブ経路は有料 API を第二コードパスなしで反映します。
連携の活用例
課題採点器と記号的パイプライン
自動採点器とスクリプトは (a/p) ∈ {−1,0,1} を確認し、invalid_input で非素数 p を検出し、中間積を文書化された範囲内に保てます。
技術的な質問
この API でルジャンドル記号をどう計算しますか?
整数フィールド a と p(p は奇素数)を含む JSON を numth.legendre_symbol に送ってください。成功時は symbol が {−1, 0, 1} に入り、a_mod・residue・interpretation も返ります。
ルジャンドル記号計算機は無料ですか?
ブラウザツールはお使いの端末で無料実行です。API 呼び出しは成功品目ごとに $0.002 の前払い KIT 残高を使用し、無効入力と非素数法は課金されません。