約数計算機
28の約数はちょうど6個で、1から28まですべてが小さい順に並び、個数も表示されます。1兆までの整数を入力すれば、素数かどうかや、いくつの等しいグループに分けられるかが分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- N
- 28
- 数量
- 6
- 約数
- 1, 2, 4, 7, 14, 28
約数は初等整数論の土台であり、数が素数かどうか、量を何等分できるか、分数・比・スケジュールをどう約分できるかを決定します。スプレッドシートやスクリプトで候補を一つずつ試す代わりに、数を一つ送るだけで、完全で正確な答えが一回の決定的な呼び出しで得られます。このページでブラウザ内を無料で実行しているのも、ここで応答しているのと同じコードです。
約数とは何か、完全なリストが重要な理由
数 n の約数とは、n を割り切って余りが出ない任意の正の整数 d のことです。どの数にも少なくとも二つ — 1 とその数自身 — があり、素数はちょうどその二つだけを持ちます。ある候補が割り切るかどうかだけでなく、数の約数をすべて把握することで、整数について実際に問われるほとんどの疑問が解けます。
n が素数かどうか、別の数との最大公約数が何になりうるか、量をいくつの等しいグループに分けられるか、どの分母なら分数が有限小数になるか、といった問いです。部分的な答えでは推測を続けるしかありませんが、完全で整列されたリストなら一目で結論が出ます。約数の個数だけでも、数を素数・合成数・そして小さな値に多くの約数を詰め込んだ稀な高度合成数に分類できるからです。
リストの計算方法
アルゴリズムは n の平方根までの試し割りで、この問題に対する古典的な厳密解法です。約数は対になって現れます。小さな数 i が n を割り切るとき、商 n/i も約数になるため、ループは平方根まで回すだけで集合内のすべての約数を発見できます。
各ステップで各対の小さい側を昇順に、大きい側を降順に集め、二つの半分を結合すれば、追加のソートも浮動小数点も使わずに、最終リストがすでに整列された状態で得られます。計算は乱数・時計・ネットワークを一切使わない純粋な整数演算なので、同じ入力には常にバイト単位で同じ出力が返ります。
活用例
量を等しいグループに分割する
レイアウトを決定する前に、在庫を余りなくちょうど割り切れるチーム人数、バッチ長、パッケージ数をすべて洗い出します。
整数論の演習問題を準備する
約数の演習問題用に、完全なリストと個数という模範解答を生成し、宿題の採点や授業の例題作成に活用します。
よくある質問
具体的に何が返されますか?
n(送信した数)、count(約数の個数)、divisors(昇順に並んだ完全なリスト)を持つオブジェクトが返されます。
真の約数だけを探すのですか?
いいえ。 リストには 1 とその数自身も含まれるため、真の約数だけでなく正の約数の完全な集合です。
素数判定に使えますか?
はい。 count がちょうど 2 なら素数、1 ならその数は 1、それより多ければ合成数です。
同じ入力に対して結果は常に同一ですか?
はい。 計算は乱数・時計・ネットワークを使わない純粋な整数演算なので、同じ n には常に同じ応答が返ります。
どのくらい大きな数まで約数を調べられますか?
1兆までの正の整数を入力できます。0や負の数、12.5のような小数は、約数の考え方が当てはまらないため受け付けません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/divisor \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":28}'const res = await fetch("https://api.kit.forhosting.com/math/divisor", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 28
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/divisor",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 28
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/divisor", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":28}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":28}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/divisor", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"n": 28
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.divisor",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_n | 1000000000000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
約数APIは、1つの正の整数を受け取り、それをちょうど割り切るすべての正の整数を、昇順のリストと合計個数とともに返します。
約数とは何か、完全なリストが重要な理由
だからこそ、このエンドポイントは yes/no の判定ではなく集合全体を返し、個数も返します。
リストの計算方法
実行時間は入力の平方根に比例するため、数十億の数でもミリ秒で応答でき、公開されている上限により最悪ケースも無料枠のリクエスト内に確実に収まります。これにより、このページの無料ブラウザ版が、有料APIで課金される内容とまったく同じものを約束できるのです。
検証、上限、エラー
0 と負の数は、ここでは正の整数の範囲で割り切れる関係を定義しているため拒否され、12.5 のような非整数は、厳密な約数という概念が適用できないため拒否されます。n は送信した数のエコー、count は約数の総数、divisors は完全な昇順リストです。ページネーションも切り捨てもなく、受け付けられた入力には常に完全なリストが返ります。時折手動で答えが必要なだけなら、同一の計算をブラウザで無料実行できます。エンドポイントはフィールド n を一つ受け付け、正の整数である必要があります。公開された上限を超える値も、すべてのリクエストを予算内のコストに収めるために拒否されます。各拒否は、どのルールに違反したかを正確に示す構造化された invalid_input エラーとして返るため、呼び出し側のパイプラインは一般的な失敗ではなく有用なメッセージを表示できます。有効な入力には、三つのフィールドを持つ一つの JSON オブジェクトが返ります。グローバルエッジ上で動作し、後で何も保存されず、API経由では1リクエストにつき $0.002 です。
連携の活用例
数が素数かどうかを確認する
約数がちょうど二つ — 1 とその数自身 — しかない数は素数です。count フィールドが直接答えを示し、素数でない場合はリストに最小の因数が現れます。
技術的な質問
料金はいくらですか?
API経由で1リクエストにつき $0.002 です。同じ計算は、このページのブラウザ上でも無料で実行できます。
どのような入力を受け付けますか?
フィールド n に、公開された上限 1000000000000 までの正の整数を一つ指定します。0、負の数、非整数の値は invalid_input エラーで拒否されます。