素因数分解計算機
整数を素数べきに分解します。360は2³ × 3² × 5で、各素数と指数が並んで表示されます。異なる素数の個数、重複込みの個数、その数自体が素数かどうかも分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 分解する正の整数
- 360
- オメガ
- 3
- ビッグオメガ
- 6
1より大きいすべての整数は、素数のべきの積に一意に分解されます。これが算術の基本定理です。この素因数分解計算機は正の整数を受け取り、決定的なBigIntアルゴリズムでそれらの素数べきに分解し、それぞれの底とその指数を返すため、RSAサイズの授業の例を監査したり、宿題を確認したり、手書きの試し割りループなしで構造化された因数を別のパイプラインに渡したりできます。
素因数分解が実際に返すもの
素因数分解は整数nを正の指数を持つ素数の積として書き直します。たとえば360 = 2³ × 3² × 5です。順序を除いた一意性は算術の基本定理によって保証されるため、同じnの2つの正しい素因数分解は、素数を並べ替えた後は常に一致します。
この計算機は多重度を持つ素因数の平坦なリストで止まりません。それらを素数べきにまとめ、それぞれの底を指数とともに報告します。これは数論の公式、根基関数、オイラーのトーシェント計算が通常必要とする形式です。
計算機の呼び出し方と結果の読み取り方
JavaScriptの安全な整数、またはカンマ・空白・指数表記のない単純な10進数文字列です。値は2以上の整数でなければなりません。内部では、エンジンはnをBigIntに昇格させ、2と3の因数を取り除き、残っている値の平方根まで6k±1の候補約数ホイールを歩きます。
ループが終わると、1より大きい残りがあればそれ自体が素数であり、最後の素数べきとして追加されます。factors配列は底の昇順に整列され、指数は通常の整数で、底は10進文字列であるため、呼び出し元は非常に大きな素数を精度損失なく往復させられます。公開されている桁数上限内に収めてください。
活用例
宿題とコンテストの検証
返された素数べきを手計算した因数分解と比較することで、合成数と素数の両方について学生やコンテストの解答を確認します。
よくある質問
JavaScriptの安全な整数の範囲より大きい数を因数分解できますか?
はい。 nを10進文字列として渡してください。エンジンは公開された桁数上限までBigIntを使うため、大きな授業の例も正確なままです。
360の素因数はいくつありますか?
異なる素数は2、3、5の3個で、重複込みでは6個です。2が3回、3が2回現れるためです。どちらの個数も結果に表示されます。
自分の数が素数かどうかはどう分かりますか?
結果にそのまま表示されます。素数なら項目はその数自身と指数1のひとつだけで、素数と示されます。それ以外の数では2つ以上の素因数が表示されます。
素因数分解は必ず同じ結果になりますか?
はい。算術の基本定理により、素因数分解は順序を除いてただひとつに決まります。素数は小さい順に並ぶので、同じ数なら常に同じ形になります。
どのように因数を見つけていますか?
まず2と3で割り、その後は6k±1の形の候補を残りの数の平方根まで試します。最後に1より大きい数が残れば、それ自体が素数として加えられます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/numth/prime-factorization \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":"360"}'const res = await fetch("https://api.kit.forhosting.com/numth/prime-factorization", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": "360"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/prime-factorization",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": "360"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/prime-factorization", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":"360"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":"360"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/prime-factorization", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"n": "360"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.prime_factorization",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_digits | 18 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
結果は10進文字列として正確なままで、決して浮動小数点で丸められることはなく、無料のブラウザ経路はAPIとバイト単位で一致します。
素因数分解が実際に返すもの
レスポンスにはomega(異なる素数底の個数)とbig_omega(多重度を数えた素因数の総数)、そしてn自身が素数のときにちょうどtrueとなるis_primeフラグも含まれます。大きな値はIEEE浮動小数点で丸められることのないよう10進文字列として運ばれ、同じ契約がブラウザで無料に、そして成功したリクエストごとに$0.002の有料API経路で動作します。
計算機の呼び出し方と結果の読み取り方
単一のフィールドnを送信してください。1、0、負数、分数はinvalid_inputで拒否され、課金されません。利便性のため、エイリアスフィールド名numberとvalueも受け付けます。それを超えると、手に負えない試し割りの探索でCPUを浪費する前に、リクエストは即座に失敗します。
構造化された素数べきが役立つ場面
構造化された因数をオイラーのトーシェント、根基、過剰性のチェックに渡したり、チャレンジの法が期待通りの素数の積であることを検証したり、ハッシュテーブルのサイズやランダムシードの素数の特徴を記録したりできます。検証失敗は決して残高を消費しません。成功した因数分解のみが公開された$0.002を課金します。インタラクティブな探索にはブラウザツールを、バックエンドやノートブック、バッチジョブがサブスクリプションなしで単一の前払いKIT残高のもとで多数の整数を因数分解しなければならない場合はAPIを使ってください。
連携の活用例
暗号の授業デモ
小さなRSA風の積を因数分解し、単一の不透明な文字列ではなく底と指数を構造化されたJSONとして示します。
パイプライン向け数論ヘルパー
自動化された数学パイプラインでのトーシェント、根基、過剰性の計算のために、omega、big_omega、素数べきを出力します。
技術的な質問
このAPIで整数を素数に分解するには?
フィールドnに2以上の整数(または10進文字列)を設定したオブジェクトをPOSTしてください。レスポンスは{ base, exponent }のペアとしてfactorsを列挙し、omega、big_omega、is_primeも含みます。
素因数分解計算機は無料ですか?
ブラウザツールはあなたの端末上で無料で動作します。API呼び出しは成功したリクエストごとに$0.002の前払いKIT残高を使用し、無効な入力には課金されません。
なぜnは2以上でなければなりませんか?
素因数分解は1より大きい整数に対して定義されます。0、1、負数は、慣習を勝手に作るのではなくinvalid_inputで拒否されます。
結果はブラウザとAPIで決定的ですか?
はい。同じ純粋な試し割りのルーチンが両方の経路を動かしているため、同一の入力は通信もランダム性も関与しない同一のJSONを生成します。