ForHosting KIT · 数学

フェルマーの小定理チェッカー

底と法を入れると、a^(n−1) mod n が1になるかが分かります。2と7なら2^6を7で割った余りは1、2と15なら4です。宿題の確認や、合成数の反例探しに役立ちます。ブラウザで無料で使えます。

  • 無料
  • ブラウザで動作
  • 登録不要
  • データは端末の外に出ません
ご利用方法 ウェブAPIメールTelegramアプリ 近日
入力した場合
A
2
N
7
結果
結果
1
1つ目のテキスト
2
N
7
指数
6

フェルマーの小定理は、n が素数で底 a が n で割り切れないとき、a の n から 1 を引いた乗が 1 と n を法として合同である、という明快な合同式の主張です。学習者・指導者・開発者は、証明の散文要約ではなく、その正確なべき剰余を素早く評価する手段を常に必要としています。宿題の確認、合成数の反例の探索、合同ルーチンのユニットテストのためです。このフェルマーの小定理チェッカーは整数 a と n を受け取り、gcd(a, n) が 1 でないときは拒否し、そうでなければ a^(n−1) mod n と、余りが 1 かどうかを示す真偽値フラグを返します。

フェルマーの小定理が主張することと、本ツールが計算すること

教科書でよく見られる形では、フェルマーの小定理は次のとおりです。n が素数で a が n で割り切れない整数なら、a の n から 1 を引いた乗は 1 と n を法として合同である。プログラマが日常使う剰余演算子で書けば、それらの仮説が成り立つとき a^(n−1) mod n は 1 に等しくなります。

底 a と法 n を指定してください。チェッカーはまず n が 2 以上の整数であることを要求します。法が 2 未満の剰余還元は教室向けの有用な契約にならないためです。

次に a と n の最大公約数が 1 であること、すなわち互いに素であるという仮説を要求します。これは n が素数のときの古典的な言い回し(a が n で割り切れない)と一致し、合成数の n でも定理の保証の外側を調べたいときに意味を持ちます。

両方の検査を通過すると、エンジンは BigInt 上で二進法の合同累乗(平方して掛け算)を実行し、指数 n−1 が大きくても中間積を厳密に保ちます。

授業や宿題、合成数の反例確認に

教員はフェルマーの小定理チェッカーを使い、学習者が証明を書く前に小さな素数で a^(p−1) mod p の手計算を確認し、意図的に合成数 n を試して余りが常に 1 ではないことを見せます。試験ジェネレータや LMS プラグインは、採点者を混乱させる余りを黙って返すのではなく、互いに素でない入力を拒否する決定的なオラクルを必要とします。

暗号コースのノートブックは、玩具の RSA 鍵を導入するときや、オイラーの定理が φ(n) で話を一般化する前に初等整数論で指数 n−1 が現れる理由を示すとき、厳密な合同累乗の一段がしばしば必要です。後で φ(n) 付きのオイラーの定理、合同逆元、中国剰余定理による分解が必要なら、それらの別能力を呼び出してください。

こちらはフェルマーの a^(n−1) mod n 専用ランディングのままなので、検索意図と応答形が明確に保たれます。

宿題・教室での FLT 確認

学習者が底 a と素数 n を入力して a^(n−1) mod n が 1 であることを確認したり、合成数 n を試して余りが 1 でない場合を見たりします。

合同累乗コードのユニットテスト

2^6 mod 7 = 1 や 2^14 mod 15 = 4 など既知の剰余を固定し、言語ごとに BigInt の square-and-multiply を再実装しません。

なぜ gcd(a, n) が 1 でなければならないのですか?

フェルマーの小定理は法と互いに素な底(素数 n で割り切れないことと同等)について述べられます。

結果が 1 なら n が素数だと証明できますか?

いいえ。 n が素数で gcd(a,n)=1 なら余りは常に 1 ですが、合成数でも一部の底で 1 になり得ます。素数判定には専用ツールを使ってください。

n が合成数のときはどうなりますか?

gcd(a,n)=1 なら依然として a^(n−1) mod n を計算します。

底2・法7でフェルマーの小定理を確かめるには?

底に2、法に7を入力します。2の6乗を7で割った余りが1と表示され、素数7について定理どおりの結果になることを確認できます。

負の底や大きな法も使えますか?

使えます。負の底はまずnを法とする余りに直され、法は2以上の整数であれば構いません。2乗と掛け算を繰り返して正確な整数で計算するので、指数が大きくても余りは正確です。

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

POSThttps://api.kit.forhosting.com/numth/fermat-little-check

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

curl -X POST https://api.kit.forhosting.com/numth/fermat-little-check \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"a":2,"n":7}'
{
  "a": 2,
  "n": 7
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "numth.fermat_little_check",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

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

1リクエストあたり$0.002

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

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

同じ純粋な BigInt ロジックが、無料のブラウザツールと、成功リクエストあたり $0.002 の有料 API 経路の両方を駆動するため、教室デモと本番スクリプトが剰余について食い違うことはありません。

フェルマーの小定理が主張することと、本ツールが計算すること

証明はこのエンドポイントの成果物ではなく、成果物はそのべきの正確な余りです。応答は a と n を十進文字列でエコーし、指数 n−1、非負の余り result、文字列 "1" としての gcd、result がちょうど 1 のとき真となる真偽値 congruent_to_one、および答えの横に表示できる短い expression 文字列を報告します。古典的な素数チェック:a が 2、n が 7 なら 2^6 mod 7 は 1 となり、congruent_to_one は真です。古典的な合成数プローブ:a が 2、n が 15 なら 2^14 mod 15 は 4 となり、congruent_to_one は偽です。これは a^(n−1) ≡ 1 だけでは素数判定の証明書にならないことを示す反例そのものです。

入力契約、エラー、応答の読み方

n が 2 未満なら、法は少なくとも 2 でなければならないというメッセージでタスクは失敗します。gcd(a, n) が 1 でないときは、たとえば gcd(2, 4) が 2 であるように gcd を名指しするメッセージで失敗し、呼び出し側はなぜべきが計算されなかったかを推測する代わりに、対が互いに素の仮説の外にあると分かります。負の底は受け付けられ、累乗の前に法 n の非負剰余系へ還元され、標準的な合同算術と一致します。べき剰余以上が必要なワークフローでは、因数分解や素数判定の別ツールと組み合わせてください。検証失敗は前払い残高を消費しません。POST で JSON 本体を送り、必須の整数フィールドは a(別名 base)と n(別名 modulus、mod)の二つです。各フィールドは JSON の数値でも十進整数文字列でもよく、値が JavaScript の安全な整数範囲を超えるときは文字列形式が推奨されます。分数、空文字列、非数値トークン、十進桁が六十四桁を超える値は invalid_input で失敗し、課金されません。成功時、本体の数値フィールドは congruent_to_one(真偽値)を除きすべて十進文字列なので、大きな整数は精度を失わずに JSON を往復します。このエンドポイントは互いに素の門のもとで a^(n−1) mod n のみに答え、SEO の意図を絞り、応答を最小に保ちます。料金は item 単位で成功リクエストあたり定額 $0.002 です。

教室デモ、合成数プローブ、API 自動化

開発者は、既知の素数法に互いに素な乱数底について a^(n−1) ≡ 1 を主張するプロパティテストや、2^14 mod 15 が 4 といった既知の合成数反例を固定する回帰スイートに API を接続します。a と n を公開桁数制限内に保ち、テストで文字列形式の result と congruent_to_one フラグを固定すれば、宿題・学習プラットフォーム・エッジワーカー向けに再現可能な剰余が得られ、本格的な計算機代数システムを立てる必要はありません。

LMS・試験の自動採点オラクル

決定的な余りで合同式の設問を採点し、互いに素でない対は成功ペイロードを捏造せず無効として拒否します。

このフェルマーの小定理チェッカーは何を計算しますか?

n ≥ 2 かつ gcd(a,n)=1 の整数 a と n に対し、a^(n−1) mod n と、その余りが 1 かどうか(congruent_to_one)を返します。

フェルマーの小定理チェッカーの料金は?

ブラウザツールは無料です。API リクエストは成功呼び出しあたり $0.002 の前払い KIT 残高を使い、無効入力は課金されません。

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