JordanトーシェントJ_k(n):素因数から計算
次数1のとき、36の Jordan トーシェントは12で、オイラーのトーシェントと同じです。次数 k を上げると、n^k に n の素因数ごとの (1 − p^−k) を掛けて求め、使った素因数分解も表示します。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- N
- 36
- K
- 1
- ジョルダンの関数
- 12
Jordanトーシェント関数J_k(n)は、法nで階数kの自由Z加群を生成する整数のk組を数えることでEulerのトーシェントを一般化します。あるいは同等に、nの素因数pにわたる積(1からpのマイナスk乗を引いたもの)にnのk乗を掛けた積公式でも定義されます。位数kが1のとき、J_1(n)はφ(n)と一致します。本計算機は正の整数nと正の位数kを受け取り、決定的な試し割りでnを素因数分解し、古典的な素冪積を評価して、浮動小数点のずれや外部サービスなしに正確な整数J_k(n)を得ます。宿題の検算、格子点の計数、厳密算術を前提とする数論パイプラインや教材の自動採点にご利用ください。
Jordanトーシェントが測るものと重要性
Eulerのトーシェントφ(n)は、nと互いに素な法nの剰余類を数えます。Jordanの関数はその計数を高階に持ち上げます。J_k(n)は集合{1,…,n}^k内の整数k組のうち、k個の座標すべてとnの最大公約数が1であるもの、すなわち集合としてnと互いに素なものの個数に等しくなります。
同等に、法nの整数環上で基本形に還元可能な可逆なk×k行列の群の位数でもあり、格子やDedekindゼータの特殊値を調べるときの円分体拡大の次数としても現れます。素数冪pのa乗については閉じた形がpのk乗に(aマイナス1)と(pのk乗マイナス1)を掛けたものであり、互いに素な因子にわたる乗法性から大域的な積が得られます。
技術者やコンテスト出題者は、加群の自由生成元を数えたり、Z/nZ上の行列環の単数群を見積もったり、kが1のときにφに帰着する恒等式を検証したりする場面でJ_kに出会います。
トーシェント値とそれを生み出した素因数分解の両方を返すことで、宿題チェッカー、CAS比較、各演習ごとに素因数分解を場当たり的に実装しがちな整数パイプラインにおけるオフバイワン誤りを減らします。
本計算機が素因数からJ_k(n)を評価する手順
実装は試し割りでnを素因数分解し、まず2の因子を取り除き、次に平方根までの奇数候補、最後に残る素数共因子を処理します。その順序付きリストからJordan積の厳密な整数形を適用します。nを割る各素数冪pのa乗について、累積結果にpの(k倍の(aマイナス1))乗と(pのk乗マイナス1)の積を掛けます。
冪は任意精度整数で計算するため中間値は厳密であり、最終結果はクライアントが通常の数値として受け取れるようJavaScriptの安全整数に収まる必要があります。kが1のときは同じ経路がEulerの積公式を再現するため、受理されるすべてのnでJ_1(n)はφ(n)と一致します。
応答にはn、k、jordan、素数と指数の組としての因子リスト、および文書用の短い公式文字列が含まれます。
実務での使い方、上限、料金、提供形態
乗法的数論の学習中に即座の答えが欲しいとき、Eulerのトーシェントに特殊化する教科書の恒等式を確かめるとき、格子点の計数をデバッグするときはブラウザツールをご利用ください。受理範囲はnが1から1兆、kが1から20であり、コンテスト・教室・応用の典型サイズを覆いつつ試し割りを実用的に保ちます。
結果は決定的で、同じnとkは常に同じjordan値と因子リストを返します。言語モデルも外部因数分解サービスも乱数もなく、自動テストに固定して安全です。
活用例
宿題・コンテストの検算
学習者と採点者は任意の正のnと位数kについてJ_k(n)を確認し、用いた素因数を点検し、ローカルCASなしでJ_1がEulerのφと一致することを確かめられます。
格子と加群のデモ
法nの自由Z加群や行列環の単数群に関する教材は、オンデマンドでJordanトーシェントを計算し、結果の横に素因数分解を示せます。
よくある質問
nまたはkが1未満の場合はどうなりますか?
Jordanトーシェントは正の整数nと正の位数kに対して定義され、0と負数は拒否され課金されません。
J_k(n)とEulerのトーシェントの関係は?
kが1のときJ_1(n)はφ(n)に等しいです。kが1より大きいときは、積n^k · Π (1 − p^{−k})により高階の互いに素性条件を数えます。
送信できる最大のnとkは?
nは1から1,000,000,000,000(1e12)、kは1から20までです。結果が安全整数範囲を超える組合せも拒否されます。
Jordan トーシェントは何を数えますか?
1から n までの数を k 個並べた組のうち、n と合わせた最大公約数が1になる組の個数です。k が1のときは、オイラーのトーシェントと一致します。
J_1(36) はいくつですか?
12です。36は2の2乗と3の2乗の積で、次数1ではオイラーのトーシェントと同じ値になります。結果と一緒にこの分解も表示されます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/numth/jordan-totient \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":36,"k":1}'const res = await fetch("https://api.kit.forhosting.com/numth/jordan-totient", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 36,
"k": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/jordan-totient",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 36,
"k": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/jordan-totient", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":36,"k":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":36,"k":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/jordan-totient", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"n": 36,
"k": 1
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.jordan_totient",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_n | 1000000000000 |
max_k | 20 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
本計算機が素因数からJ_k(n)を評価する手順
正の整数フィールドnとkの二つを指定して能力を呼び出します。いずれかのフィールドが1未満、非整数、欠落、公開上限を超える値、結果が安全整数範囲を超える組合せはinvalid_inputとして拒否され課金されません。
実務での使い方、上限、料金、提供形態
素因数分解ライブラリを同梱せずに多数の対でJ_k(n)が必要なスクリプト、継続的インテグレーション、教育プラットフォームではAPIをご利用ください。成功した各要求は$0.002の課金単位1件であり、検証失敗は残高を消費しません。数論デモ、φと高次Jordan計数を対比する暗号教育サンドボックス、近似ヒューリスティクスより厳密算術を信頼し対ごとに1件の課金が必要な整数前処理へエンドポイントを接続できます。
連携の活用例
数論の自動パイプライン
乗法的恒等式、特殊値、既約k組を列挙するスクリプトは、素因数分解コードを埋め込む代わりに、決定的な1件課金の単一エンドポイントを呼び出せます。
技術的な質問
このAPIでJordanトーシェントJ_k(n)を計算するには?
正の整数フィールドnとkを含むJSON本体を能力numth.jordan_totientへ送ってください。応答はjordan、順序付き素因数分解、公式文字列を返します。
Jordanトーシェント計算機は無料ですか?
ブラウザツールはお使いの端末で無料です。API呼び出しは成功した1件あたり$0.002のKIT前払い残高を使い、検証失敗は課金されません。