過剰数チェッカー
12の真の約数は1、2、3、4、6で、その和は16なので、12は4だけ超える過剰数です。正の整数を入力すると、約数の和、超過分、過剰数かどうかがはっきり分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 分類する正の整数
- 12
- アリコット和
- 16
- 過剰量
- 4
過剰数チェッカーは古典的な数論の問いに答えます:nの正の真の約数の和はn自身を超えるか?正の整数nを指定すると、このツールはアリコット和、過剰量(アリコット和からnを引いた値)、その差が正のときにちょうどtrueになる真偽値のabundantフラグを返します。エンジンはnの平方根までの決定的な試し割りを使うため、結果は正確で浮動小数点のずれがなく、実行のたびに同一です。通信を呼び出すことも、ランダム性をサンプリングすることも、時計に依存することも一切ありません。宿題やコンテスト対策、OEIS風の探索にはブラウザで無料でご覧ください。
過剰数の意味と結果の見方
正の整数nは、そのアリコット和(n自身を除くnのすべての正の約数の和)がnより厳密に大きいとき過剰数です。同じことですが、アリコット和からnを引いて定義される過剰量は正の整数です。最小の過剰数は12です:真の約数1、2、3、4、6の和は16なので過剰量は4です。
18も過剰数で、アリコット和は21、過剰量は3です。対照的に、6は真の約数の和がちょうど6になるため完全数、10は1+2+5=8となるため不足数です。1は真の約数の集合が空なので、そのアリコット和は0となり不足数です。
1つの整数の素因数ではなく過剰数の分類が必要な場合は、素因数分解ツールをお使いください。このページが答えるのは過剰数の判定と過剰量のみです。
入力の読み取り方とアリコット和の正確さの保ち方
正の値には先頭の任意のプラス記号が許可されますが、埋め込まれた空白、16進数のプレフィックス、指数表記は不正なセルが誤ったフラグにすり替わることを防ぐため拒否されます。このチェッカーでは過剰量は正の整数に対して定義されるため、負の整数と0は拒否されます。
エンジンはJavaScriptの安全な整数の範囲内にとどまり、これは授業の問題、プログラミングコンテスト、そして中程度に大きなnに対するほとんどの応用チェックには十分すぎるほどです。
内部では、真の約数は試し割りで収集されます:dを2からnの平方根の切り捨てまで歩かせ、dがnを割り切るたびに、その相手が異なりどちらもnと等しくない場合にdとn÷dの両方を加え、常にnが1より大きい場合の1をカウントします。この手順は通常の入力に対して数回の剰余チェックしか必要とせず、決して近似しません。
僅差の整数を誤って過剰数と判定してしまうような浮動小数点のステップはありません。
過剰数の判定が学習・研究デモ・コードで果たす役割
学生は、完全数と不足数という仲間を学ぶとき、高度合成的な構造を探索するとき、そしてアリコット写像から始まる社会数や友愛数の連鎖について読むときに過剰数に出会います。教師は、約数の和を隠す不透明な電卓アプリを信用せずにワークシートの解答例を生成できます。
開発者は、同じ契約を使って数論ライブラリのサンプルデータを検証したり、ランダムな整数生成器に対するプロパティテストをゲート化したり、シミュレーションのステップの前にシードが過剰数のクラスに属するかを事前確認したりします。コンテストの練習では、OEISの表をダウンロードせずに解答を確認できるよう、過剰数の判定の高速なオフラインソースがよく必要とされます。
1つの整数の背後にある素数のべきが必要な場合は素因数分解と、ペアごとの最大公約数のテストが必要な場合は互いに素チェッカーと、約数の和ではなくランクが必要な場合は第n番目の素数ツールとも組み合わせてください。
活用例
宿題とコンテストの分類
手作業で約数のリストを作らずに過剰量の符号を読むことで、ワークシートやコンテストのチェック用に整数を過剰数・完全数・不足数に分類します。
決定的なテストフィクスチャ
静的なOEISのダンプを埋め込まずに、単体テストやプロパティチェック、CIアサーション向けに再現性のある過剰数・非過剰数のケースを生成します。
アリコット写像の指導
無料でブラウザ上で入力をライブに変えながら、アリコット和からnを引いた値が過剰量をどう測るかを学生に示します。
よくある質問
このアルゴリズムはランダム化されていますか?
いいえ。 決定的な試し割りを使います。同じnは常に同じアリコット和、過剰量、abundantフラグを返します。
素因数分解とはどう違いますか?
素因数分解は1つの整数を素数のべきに分解します。このツールは1つの整数を真の約数の和で分類し、その和がnを超えるかどうかを報告します。
最小の過剰数はいくつですか?
12です。真の約数1、2、3、4、6の和は16で、12より4大きくなります。これより小さい正の整数に、約数の和が自分を超えるものはありません。
完全数や不足数を入れるとエラーになりますか?
なりません。6のような完全数や10のような不足数も正しい結果として返り、過剰数ではないこと、超過分が0以下であることが表示されます。
1は過剰数ですか?
いいえ。1には自分以外の約数がないため約数の和は0で、不足数になります。1も正しい入力として判定されます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/numth/abundant-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":12}'const res = await fetch("https://api.kit.forhosting.com/numth/abundant-number", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 12
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/abundant-number",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 12
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/abundant-number", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":12}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":12}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/abundant-number", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"n": 12
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.abundant_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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
分類パイプラインや採点スクリプト、再現性のある過剰数の回答が必要な教育デモを自動化する場合は、成功したリクエストごとに$0.002のAPIをご利用ください。
過剰数とは何か、レスポンスに含まれる内容
このチェッカーは、解析済みのn、aliquot_sum、符号付きのabundanceの差、そしてabundanceが0より大きい場合にのみtrueとなるabundantを返します。したがって完全数や不足数の入力は、abundantがfalseでabundanceが0以下の有効なレスポンスです。エラーではありません。 契約は定義域について厳格です:フィールドの欠落、非整数、分数、指数表記、安全な整数範囲外の値、1未満のnはすべてinvalid_inputと明確なメッセージで失敗します。
入力の読み取り方とアリコット和の正確さの保ち方
優先されるフィールドはJSON整数としてのnですが、10進数文字列とnumber・valueというエイリアスも受け付けるため、フォームやスプレッドシート、クエリ文字列が1つの契約を再利用できます。
過剰数の判定が学習・研究デモ・コードで果たす役割
このページでは処理はすべてブラウザ内で完結し、API経由では成功した照会1件ごとに$0.002かかり、検証に失敗した場合は課金されず、レスポンスを返した後は何も保存されません。無料のインタラクティブな検証と、同一の結果を返す有料APIというこの分離はKITのtier Aカタログ全体の方針と一致しており、教室でのデモから自動パイプラインへ、数学的な結果を変えることなく移行できます。
技術的な質問
過剰数チェッカーの料金は?
このページのブラウザ上では無料です。API経由では成功したリクエストごとに$0.002かかり、無効な入力には課金されません。
nが1未満の場合はどうなりますか?
リクエストはinvalid_inputで失敗します。ここでの過剰性はn≥1の正の整数に対してのみ定義されます。
過剰量はどう計算されますか?
過剰量はaliquot_sum − nです。aliquot_sumはnの正の真の約数(nを除く)の和です。その差が正のとき、その数は過剰数です。