プライモリアル計算機
n以下の素数をすべて掛け合わせ、正確な結果を求めます。10#は2 × 3 × 5 × 7で、値は210です。素数の一覧と個数も表示され、nが10000までなら全桁が正確です。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 上界となる非負整数
- 10
- 値
- 210
- 積
- 210
- 素数
- 2, 3, 5, 7
- 数量
- 4
非負整数 n のプライモリアルは n# と書き、n 以下のすべての素数の積です。階乗の素数版で、1からnまでの全正整数ではなく、その上界以下の素数だけを掛けます。プライモリアルは素数ギャップの証明、高度合成数に関する上界の構成、素数性ヒューリスティック、浮動小数のずれなしに先頭素数の積が必要な競技問題などに現れます。本計算機は n までの素数を篩い、厳密な BigInt 演算で掛け合わせ、完全な十進文字列と素数リストおよび個数を返します。n が2未満では n 以下の素数はなく、空積は標準の乗法規約により1です。負や非整数は静かに誤答せず、明確な検証エラーで拒否します。
プライモリアル n# の定義と計算方法
プライモリアル n# は、p が n 以下であるすべての素数 p の積と定義されます。n が0または1のとき集合は空で、空積は1に等しく、0の階乗が1と定義されるのと同様です。
新しい素数のたびに走行積がより大きな因子で増えるため桁の意味で超指数的に伸び、素数定理より log(n#) はおよそ n なので桁数はおよそ n / ln(10) のように伸びます。本実装は浮動小数近似、篩範囲の確率的素数判定、外部表を使いません。
n までの古典的エラトステネスの篩を走らせ、真のまま残った素数フラグを集め、BigInt で順に掛けて中間・最終の各桁を整数厳密に保ちます。大きなプライモリアルは JavaScript の安全整数範囲をすぐ超え、数値型は静かに丸めます。
経路は完全に決定的で、乱数種・時計・ネットワーク・モデルのドリフトはなく、同じ n は常に同じ文字列・同じ素数リスト・同じ個数を返します。
厳密なプライモリアルが実作業に現れる場面
数論の授業とオリンピック訓練は上界までの素数積、プライモリアルを含む比、n# を法や高度に滑らかな関連量として使う構成を絶えず求め、信頼できる BigInt オラクルがフィクスチャ作成と採点を速めます。
暗号・セキュリティ教育では小さな素数積の合同演算やプライモリアルと素数性上界の関係を示すことがあり、厳密な文字列照合がスライド例を、学習者が自前の篩を実装する前に確認します。製品デモや面接準備では階乗表の横に短いプライモリアル表を出し、両積を対比させることが多く、1回の呼び出しで n# を計算すれば対話デモが教科書と揃います。
先頭 k 個の素数の積を別の添字列として、素数計数のみ、階乗、単一の大きな整数の素数性などが後で必要なら、本プライモリアル計算機ページを過負荷にせず別の検索意図として扱ってください。
活用例
競技・宿題用フィクスチャ
オリンピック問題、プログラミング演習、浮動小数のずれを拒否する自動解答キー向けに、厳密な n# 十進文字列と素因数リストを生成します。
素数と階乗の対比指導
n# は n 以下の素数だけ、n! は全整数を掛けることを、教科書の表の隣でも大きな項が正しい厳密文字列で示します。
ライブラリと篩の健全性確認
数値コード出荷前に、篩実装・素数積ヘルパー・数論ライブラリを信頼できる BigInt プライモリアルと照合します。
よくある質問
プライモリアル n# とは何ですか?
n# は n 以下のすべての素数の積です。例:5# = 2×3×5 = 30、10# = 2×3×5×7 = 210。本ツールはその厳密積を十進文字列で返します。
プライモリアルは階乗とどう違いますか?
階乗 n! は n までの全正整数を掛けます。プライモリアル n# は n 以下の素数だけを掛けます。掛けるものが無いときはどちらも空積規約で1(0!= 1、0# = 1# = 1)です。
なぜ積は数ではなく文字列ですか?
プライモリアルは JavaScript の安全整数をすぐ超えます。十進文字列は大きな n でも各桁を厳密に保ちます。
n が負または非整数の場合は?
ここでのプライモリアルは非負整数のみに定義され、負と小数は拒否され課金されません。
0や1のプライモリアルが1になるのはなぜですか?
2より小さい素数は存在せず、掛けるものがない空の積は、慣例により1と決められているためです。0の階乗を1とするのと同じ考え方で、nが2になると最初の素数から積が始まります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/primorial \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":10}'const res = await fetch("https://api.kit.forhosting.com/math/primorial", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/primorial",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/primorial", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/primorial", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"n": 10
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.primorial",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
min_n | 0 |
max_n | 10000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
無料ブラウザツールと有料 API は同一の純粋関数を共有し、教室デモと自動パイプラインが同じ n で静かに食い違うことはありません。
プライモリアル n# の定義と計算方法
n=2 では唯一の素数は2でプライモリアルは2;n=3 では素数は2と3で積は6;n=4 でも素数は2と3のみでプライモリアルは6のまま;n=5 で積は30;n=7 で210;n=11 で2310です。積を十進文字列で返すことで JSON 利用側を誠実に保てます。上限は n を0から1万に抑え、最悪遅延を無料ブラウザツールと軽量 Worker に適したままにしつつ、競技・教室・パイプラインの厳密な大きな素数積の需要をカバーします。
送る内容と返る内容
負の n のエラーはプライモリアルが非負整数に対して定義されると述べ、フォームやスクリプトが推測なしに入力を直せます。宿題と迅速な健全性確認には無料ブラウザツールを、浮動小数損失なしの大量フィクスチャ生成や大きな厳密積には同一契約をスクリプトから呼び出してください。必須の非負整数をフィールド n に入れるか、エイリアス number、value、limit を使います。値は0以上1万以下の整数で、欠落・非整数・小数・0未満の n は invalid_input で拒否され課金されません。成功時は正規化済み n、十進の厳密な n# としての product と value(利便のため両フィールドは同じ桁列)、掛けた素因数の順序付きリスト primes、その長さ count(n≥0 で π(n) に等しい)を常に含みます。例:n=0 は積1と空の素数リスト;n=5 は積30と素数2,3,5;n=10 は積210;n=13 は積30030;n=−1 は invalid_input;n=3.5 は invalid_input。契約は単体テスト、教室デモ、バッチパイプライン向けの安定 JSON です。成功した API 呼び出しの料金は公開ベース $0.002/件で、検証失敗は前払い残高を消費しません。
厳密なプライモリアルが実作業に現れる場面
本機能は純粋な parse エンジンなので API 料金は成功1件あたり公開ベース $0.002 で、検証失敗は残高を消費しません。
技術的な質問
料金はいくらですか?
ブラウザツールは無料でローカル実行です。API は成功1件あたり $0.002 の前払い KIT 残高を使い、無効入力は課金されません。