フェルマー数ジェネレータ
添字を入力すると、フェルマー数 2^(2^n)+1 を全桁で表示します。添字0なら3、添字4なら65537です。桁数と指数 2^n も一緒に分かるので、整数論の授業や数学オリンピックの練習に役立ちます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- N
- 0
- フェルマー数
- 3
- 10進桁数
- 1
- 指数
- 1
簡潔には「2 の 2 の n 乗、プラス 1」と書けます。ピエール・ド・フェルマーは最初のいくつかの値を調べ、すべての F_n が素数だと予想しましたが、その予想は n が 5 のとき崩れます。F_5 は 4294967297 で合成数に分解されます。それでもこの数列は数論、作図可能な多角形、擬素数判定の中心に残り続けています。本ジェネレータは非負整数の添字 n を受け取り、F_n の十進展開を文字列で返し、桁数を報告し、途中の指数 2^n をそのまま返すので、塔の形を再計算せずに確認できます。
フェルマー数とは何か、F_n の定義
フェルマー数は、非負整数の添字 n ただ一つで完全に決まります。F_n は 2 を 2 の n 乗に上げたものに 1 を加えた値です。最初の添字を展開すると、学習者が覚える古典的な表になります。
F_0 は 3、F_1 は 5、F_2 は 17、F_3 は 257、F_4 は 65537 です。これら 5 つはすべて素数であり、だからこそフェルマーはそれ以降の項も素数だと望みました。オイラーは F_5 が合成数であることを示し、これまでに完全に素因数分解された後続のフェルマー数もすべて合成数です。
最初の 5 つだけが素数であることの証明はまだありませんが、既知のパターンにより、この数列は初等数論の授業や、ほぼ互いに素な整数の疎な族を必要とするアルゴリズムの定番となっています。指数そのものが純粋な 2 の累乗であるため、連続するフェルマー数は二重指数的に成長し、各段で前の項のビット長がおおよそ倍になります。
定義には素数性も因数分解も確率的判定も不要で、正確な累乗と 1 回の加算だけです。n が与えられると、エンジンは exponent を 2^n とし、その指数だけ左シフトした 1 に 1 を加えて F_n を作り、BigInt を文字列化し、桁数を報告します。
活用例
パイプライン向けフェルマー値
スクリプトと CI から同じ同型契約を呼び、フェルマー数のアサーションが偶発的な Web フォームや言語モデルに依存しないようにします。
よくある質問
負の n はエラーになりますか?
本ジェネレータではフェルマー数 F_n は n ≥ 0 で定義され、対応範囲は 0 から 16 までです。
結果は決定論的ですか?
乱数もネットワーク呼び出しもモデルもなく、BigInt の累乗と加算だけです。
フェルマー数はすべて素数ですか?
いいえ。F_0(3)から F_4(65537)までの最初の5つは素数ですが、F_5(4294967297)は合成数です。このツールは値を求めるだけで、素数かどうかは判定しません。
n にはどの値を入力できますか?
0から16までの整数です。小数や空欄、16より大きい値は受け付けません。フェルマー数は1段ごとにビット長がほぼ2倍になるほど急速に大きくなるためです。
F_n はどのように計算されますか?
まず指数 2^n を求め、2をその指数で累乗してから1を足します。丸めのない正確な整数計算なので、結果は全桁そのまま表示されます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/numth/fermat-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":4}'const res = await fetch("https://api.kit.forhosting.com/numth/fermat-number", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/fermat-number",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/fermat-number", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/fermat-number", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"n": 4
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.fermat_number",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
フェルマー数とは、整数 F_n = 2 を 2 の n 乗に上げたものに 1 を加えた値です。負の添字は invalid_input で拒否されます。同じ純粋な BigInt 経路がブラウザでは無料で、前払い API では成功 1 件あたり $0.002 で動き、ネットワーク依存もモデルの揺れもなく、対話デモと自動テストはビット単位で一致します。
フェルマー数とは何か、F_n の定義
だからこそ本ツールは IEEE 浮動小数ではなく十進文字列で値を返し、対応する添字は 16 までに止め、Worker とブラウザの時間予算内に BigInt 計算を収めます。
入力契約、成功応答、失敗モード
値は 0 から 16 までの整数でなければなりません。小数、空欄、非数値文字列、上限を超える添字も検証に失敗し、課金されません。教科書を開かずに信頼できるスポットチェックは次のとおりです。n が 0 なら fermat は 3 で 1 桁、n が 4 なら 65537、n が 5 なら 4294967297、n が -1 なら検証失敗です。必須の整数フィールド n を送ってください。エイリアス index と k も受け付けるので、フォーム、クエリ文字列、SDK クライアントはペイロード名を変えずに同じ契約を再利用できます。負の n は invalid_input となり、負の添字ではフェルマー数が定義されない旨のメッセージが付きます。これが本機能が強制する製品ルールであり、古典列の数学的定義域と一致します。成功時の JSON は n、2 の 2 の n 乗プラス 1 の完全な十進文字列 fermat、その長さ decimal_digits、2^n に等しい exponent、および 2^(2^n)+1 形式の短い表示文字列 formula を報告します。ブラウザツールと API は同一の同型 solve 関数を呼ぶため、対話的な探索と継続的インテグレーション用フィクスチャはビット単位で一致します。API 料金は成功 1 件あたり公開ベースの $0.002 で、検証失敗は残高を消費しません。
実務でフェルマー数生成が使われる場面
競技プログラマや数学オリンピックの指導者は、より難しい合同算術の前の準備として小さなフェルマー値を使い、スプレッドシートのオーバーフロー式から学習者が偶然ずれない決定論的なオラクルを必要とします。教員は短い添字リストについて F_n を計算し桁の増え方を比べるワークシートを出します。のちにメルセンヌ数、素数判定、一般合成数の因数分解が必要なら、このフェルマー中心のランディングを拡張せず、別の検索意図として扱ってください。非負の添字 n について 2 の 2 の n 乗プラス 1 がいくつになるかという問いには、フェルマー数のページが適切です。本エンドポイントは十進展開と桁数を 1 つの JSON オブジェクトで返すので、1 つのフィクスチャで両方の設問をカバーできます。暗号やシステムの技術者は、作図可能な正多角形や歴史的な RSA パラメータの話をする際に、F_4 = 65537 のような既知のフェルマー素数を必要とすることがありますが、その数そのものに暗号強度を主張するわけではありません。本機能は純粋な parse エンジンなので、同じ n は常に同じ JSON を返し、ネットワーク依存も保存状態もありません。宿題や探索には無料のブラウザ実行を使い、前払い残高で一括生成が必要ならスクリプトと継続的インテグレーションから API を呼んでください。
連携の活用例
宿題とオリンピックの準備
授業用の添字で F_n = 2^(2^n)+1 を計算し、十進展開と桁数を決定論的な解答キーと照合します。
大きな整数デモ用の決定論フィクスチャ
スライド、単体テスト、ドキュメント向けに安定した fermat と decimal_digits を生成し、巨大な 2 の累乗文字列を手で保守しません。
技術的な質問
フェルマー数とは何ですか?
フェルマー数は、非負整数の添字 n に対する F_n = 2^(2^n) + 1 という形の整数です。最初の 5 つ(n = 0 から 4)はよく知られた素数 3、5、17、257、65537 です。
ここでは F_n をどう計算しますか?
エンジンは exponent = 2^n と置き、正確な BigInt 左シフトで F_n = 2^exponent + 1 を計算します。結果は十進文字列で返すため、大きな値でも精度を失いません。
料金はいくらですか?
ブラウザツールは無料でローカル実行されます。API 要求は成功 1 件あたり $0.002 の前払い KIT 残高を使い、無効な入力は課金されません。