双子素数チェッカー
3と5はどちらも素数で差が2なので、11と13と同じく双子素数の組になります。数を入力すると2大きい数と合わせて判定し、上限を指定すればすべての組を一覧にできます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- N
- 3
- N プラス 2
- 5
- 対
- 3, 5
双子素数とは、差がちょうど2の素数です。古典的な対には (3, 5)、(5, 7)、(11, 13)、(17, 19) があります。初等整数論の中心にあり、そのような対が無限に存在するかという有名な双子素数予想にも関わります。本ツールは具体的で局所的な問いに答えます。正の整数 n が与えられたとき、n と n+2 はともに素数か。上限も指定すると、小さい方がその上限以下の双子対をすべて、決定的な篩で列挙します。
双子素数とは何か、本チェッカーの判定方法
双子素数対とは (p, p + 2) の形の素数の順序対です。差2は2より大きい素数を隔てうる最小の偶数ギャップで、連続する3つの奇数のうち少なくとも1つはしばしば3の倍数になりますが、それでも多くの対が残ります。有名な初期例は (3, 5)、(5, 7)、(11, 13)、(17, 19)、(29, 31)、(41, 43) です。
候補1件の素数判定は決定的な試し割りです。非整数と2未満を拒否し、2と3を素数として扱い、2と3の倍数を除き、平方根まで6k±1 形の約数を走査します。この算法は安全な JavaScript 整数すべてで厳密で、表も乱数も外部の素数サービスも不要です。
配列 pair は [n, n + 2] を返すので、クライアントはオフセットを再計算せずに候補を表示できます。
実務で双子素数チェックが現れる場面
競技プログラマーやオリンピック指導者は、より難しいギャップや篩の問題の前のウォームアップとして双子対チェックを使い、生徒が表計算の式と偶然ずれない決定的オラクルを必要とします。教員は、与えられた n が双子対を始めるか、ある上限以下に双子がいくつあるかを問うワークシートを出します。
暗号やシステムの技術者は、双子予想そのものから暗号強度を主張せずに、小さな素数表や期待される双子密度の教材デモを健全性確認することがあります。後で π(n)、完全な素数リスト、大きな合成数の因数分解が必要なら、双子特化の本ページを過負荷にせず別の検索意図として扱ってください。
n と n+2 がともに素数か、選んだ上限までにどの双子対が現れるかが問いなら、双子素数が正しいページです。
活用例
宿題とオリンピックのウォームアップ
与えられた n が n+2 と双子対を成すかを確かめ、篩のワークシートや競技練習用に上限までの教室向け対を列挙します。
パイプライン向け双子チェック
スクリプトと CI から同じ同型契約を呼び、双子素数のアサーションが気軽な Web フォームやモデルに依存しないようにします。
よくある質問
双子素数対とは何ですか?
双子素数対は差が2の2つの素数で、(p, p+2) と書きます。例は (3, 5)、(5, 7)、(11, 13) です。本ツールはあなたの n についてその性質を判定します。
上限までのすべての双子対を列挙できますか?
はい。 任意の limit(2 から 1,000,000)を渡してください。応答は p ≤ limit の各 (p, p+2) について pairs と count を追加します。
結果は決定的ですか?
乱数、ネットワーク呼び出し、モデルはなく、試し割りと任意の篩だけです。
3は双子素数の組に入りますか?
入ります。3と5はどちらも素数で差がちょうど2なので、(3, 5)という組になります。さらに5は7とも別の組を作ります。
双子素数は無限にありますか?
まだ誰にも分かっていません。これが有名な双子素数予想です。このツールは、指定した数とその2大きい数がともに素数かという具体的な問いに答えます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/numth/twin-primes \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":3}'const res = await fetch("https://api.kit.forhosting.com/numth/twin-primes", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/twin-primes",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/twin-primes", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/twin-primes", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"n": 3
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.twin_primes",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
min_n | 1 |
max_n | 9007199254740991 |
max_list_limit | 1000000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
双子素数とは何か、本チェッカーの判定方法
本機能は正の整数 n を受け取り、n が素数か、n + 2 が素数かを試し、両方のフラグと、両方の試験が通ったときだけ真になる単一のブール値 is_twin_prime を報告します。n が1のときは入力を受け付けますが、1は素数ではないため is_twin_prime を正しく偽にします。1未満だけが invalid_input として拒否され、フォームは無言の無意味な対ではなく明確な境界エラーを示します。
入力契約、任意の列挙、成功時の応答
値は少なくとも1、かつ n + 2 が厳密に保たれるよう JavaScript の安全整数最大値より2以上小さくなければなりません。小数、空欄、非数値文字列は検証に失敗し課金されません。limit があるとき、ソルバは limit プラス2までのエラトステネスの篩を構築し、2から limit までの各整数 p を歩き、両位置が未マークなら [p, p + 2] を記録します。応答には元の limit、配列 pairs、見つかった双子対の数に等しい count が含まれます。必須の整数フィールド n を送ってください(別名 number と value も受け付けます)。任意で limit(別名 upto と max)を2から100万まで(両端含む)送れます。教科書なしで信頼できるスポットチェック:n が3なら is_twin_prime 真で pair [3, 5];n が8なら8は合成数なので偽;n が1ならエラーなしで偽;limit 100 の列挙は (71, 73) までの教室向け対と安定した個数を返します。ブラウザツールと API は同一の同型 solve 関数を呼ぶため、対話的な探索と自動テストはビット単位で一致します。API 料金は成功アイテムあたり公開の基準 $0.002;検証失敗は残高を消費しません。
実務で双子素数チェックが現れる場面
本機能は純粋な parse エンジンなので、同じ n と limit は常に同じ JSON を返し、ネットワーク依存も保存状態もありません。宿題や探索には無料のブラウザ実行を使い、前払い残高で一括チェックが必要なときはスクリプトや継続的インテグレーションから API を呼び出してください。
連携の活用例
数論デモ用の決定的 fixture
スライド、単体テスト、文書例向けに、手作業で JSON を維持せず安定した双子対表を生成します。
技術的な質問
n が1未満だとエラーになりますか?
はい。n が1未満の値は invalid_input で失敗します。n が1は受け付けますが、1は素数ではないため is_twin_prime は偽です。
料金はいくらですか?
ブラウザツールは無料でローカルに実行されます。API リクエストは成功アイテムあたり $0.002 の前払い KIT 残高を使い、無効な入力は課金されません。