過剰指数計算機
12の約数の和は28なので、過剰指数は28/12を約分した7/3です。2より大きいため、12は過剰数です。1以上の整数を入力すると、正確な分数とその分類が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- N
- 12
- シグマ
- 28
- 分子
- 7
- 分母
- 3
- 分数
- 7/3
正の整数nの過剰指数は、1とn自身を含むnのすべての正の約数の和であるsigma(n)をnで割った正確な有理数I(n)です。数論では、I(n)が2未満なら不足数、ちょうど2なら完全数、2を超えれば過剰数と分類し、友好数・孤独数・アリコット構造の研究でも指数を比較します。この過剰指数計算機は正の整数nを受け取り、素因数分解からsigma(n)を求め、最大公約数でsigma(n)/nを約分し、既約分数として返します。1未満のnは無効入力として拒否されます。
過剰指数とは何か、なぜ既約分数が重要なのか
正の整数nの過剰指数I(n)は、1とnの両方を含むnのすべての正の約数の和を表すsigma(n)をnで割った有理数です。定義は古典的で、オイラーはすでに完全数の研究でこの比を用い、現代の論文はnの約数が1からnまでの区間をどれだけ密に埋めるかを比べるときにI(n)と書きます。sigmaは乗法的関数なのでIも乗法的です。
aとbが互いに素ならI(ab)はI(a)かけるI(b)に等しくなります。この恒等式のおかげで、素数pの指数は(p+1)/p、素数べきp^kの指数は(p^{k+1}−1)/((p−1)p^k)、相異なる素数の平方因子のない積はその単純な分数の積になります。I(n)を整数2と比べることは、完全数の三分法そのものです。
I(n)が2より小さければnは不足数、2に等しければ完全数、2より大きければ過剰数です。12は最小の過剰数で、sigma(12)は28なのでI(12)は28/12となり、既約にすると7/3です。6は最小の完全数で、sigma(6)は12、既約指数は2/1です。
10は不足数で、sigma(10)は18、18/10は9/5に約分され、2より厳密に小さくなります。浮動小数点の近似ではなく既約分数を返すことこそ、このツールの要点です。友好数の探索はI(a)とI(b)が有理数として等しいかを問い、2.333のような小数では28/12と7/3が同じ類であることが隠れてしまいます。
1の指数は1/1で不足数です。この端点は拒否せず受け入れます。
入力契約、正確な算法、返ってくる応答
nは1以上かつ1兆以下の正の整数です。内部ではエンジンが試し割りでnを素因数分解し、まず2の偶数べきを、次いで残りの余因子の平方根までの奇数の試し素因数を辿ります。各素数べきp^aについて、1たすpたすpの2乗からp^aまでの整数の等比級数を掛けてsigma(n)を積み上げます。
次にユークリッドの互除法でsigma(n)とnの最大公約数gを求め、numeratorをsigma(n)割るg、denominatorをn割るgとして返し、表示用の文字列numeratorスラッシュdenominatorも付けます。
応答はn、整数のsigma、およびsigmaが2nより小さい・等しい・大きいのに応じてdeficient・perfect・abundantとなるkindラベルも返します。算術はすべて正確な整数のままです。Dateもなく、乱数もなく、ネットワーク呼び出しもありません。
試し割りがWorkerアイソレート上で対話的に保たれるよう、公開上限内にnを収めてください。sigma(n)だけが欲しいときは、このページを約数の和ツールと組み合わせてください。
過剰指数計算機が役立つ場面
学習者は教科書が不足数・完全数・過剰数を初めて定義するときに過剰指数に出会います。I(n)を2と比べる方が、sigma(n)と2nの同等な判定より覚えやすいからです。
コンテスト作成者や学習管理の著者は、採点が約分後に7/3と28/12を同じ答えとして認め、丸めた小数を書いた学習者を幸運ではなく未完了とできるように、既約の正確な分数を返すオラクルを必要とします。友好数、孤独数、所定の過剰指数を持つ整数を探す研究者は、近くの偽物を静かに7/3と同一視する浮動小数点のイプシロンではなく、正確な有理数の相等を求めます。
教室のノートは計算機代数システムを入れなくても、最初の数百個の整数についてI(n)をnに対して表にできます。アリコット列を辿るスクリプトの著者は、列が発散する前に2を超える跳ね上がりが見えるよう、アリコット和の横に指数を記録することがよくあります。
sigma(n)だけなら約数の和ツールと、真偽値と過剰量だけなら過剰数チェッカーと、nを除く真の約数が欲しいならアリコット和計算機と組み合わせてください。このページが答えるのは指数の問い、すなわち既約の正確な有理数sigma(n)/nであり、拒否されるのはnが1未満のときだけです。
活用例
不足数・完全数・過剰数を分類する
I(n)を既約分数として求め、2/1と比べて宿題セット、コンテスト標本、研究表にラベルを付けます。約数を手で全部書き出す必要はありません。
正確な有理数の相等で友好数を探す
同じ過剰指数を共有する2つの整数は友好数です。浮動小数点のイプシロンに頼らず、約分済みの分子と分母の組を比べてください。
よくある質問
nの過剰指数とは何ですか?
I(n)はsigma(n)をnで割った値で、sigma(n)はnのすべての正の約数の和です。
分数はどのように約分されますか?
エンジンはユークリッドの互除法でg = gcd(sigma(n), n)を求め、numerator = sigma(n)/gとdenominator = n/gを返します。したがって完全数は裸の2ではなく2/1で戻ります。
nが1未満だとどうなりますか?
過剰指数は正の整数に対して定義されます。0、負数、欠落したnは拒否され、課金されません。
指数から不足・完全・過剰をどう見分けますか?
I(n)を2と比べてください。2未満は不足、2に等しければ完全、2より大きければ過剰です。応答には整数判定sigma(n)対2nから得たkindラベルも含まれます。
結果が小数ではなく分数なのはなぜですか?
2つの数の指数が等しいかを調べるには、正確な値で比べる必要があるからです。2.333のような小数では、28/12と7/3が同じ値だと分かりません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/numth/abundancy-index \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":12}'const res = await fetch("https://api.kit.forhosting.com/numth/abundancy-index", {
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/abundancy-index",
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/abundancy-index", 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/abundancy-index", 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.abundancy_index",
"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では成功したリクエストごとに$0.002で動くため、宿題の検算と自動パイプラインが食い違うことはありません。
入力契約、正確な算法、返ってくる応答
必須フィールドnを含むJSON本体を送ってください。フォームや表計算の書き出し、クエリ文字列が同じ契約を使えるよう、別名numberとvalueも受け付けます。nの欠落、非整数、分数、指数表記、1未満の値はinvalid_inputで失敗し課金されません。エラーメッセージはフィールドと制約を名指しするので、クライアントはそのコントロールを強調できます。成功したAPI呼び出しは1件あたり$0.002で、検証失敗は残高を消費しません。
過剰指数計算機が役立つ場面
実装は純粋なparseのティアAなので、成功した呼び出しは公開の$0.002だけで、モデルのトークンも外向きのネットワークもありません。
連携の活用例
LMSパイプラインで既約分数の答案を採点する
約分後の7/3と28/12を同じI(12)として認め、1未満のnをinvalid_inputとして拒否し、ブラウザの検査をAPIのオラクルと同一に保ちます。
技術的な質問
過剰指数計算機の料金はいくらですか?
ブラウザのツールは無料です。APIリクエストは成功した呼び出しごとに$0.002の前払いKIT残高を使い、無効入力は課金されません。