ファクトリオン判定
145は1! + 4! + 5!、つまり1 + 24 + 120の和がちょうど145に戻るのでファクトリオンです。正の整数を入力すると、各桁の階乗と合計、そして判定がはっきり分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- N
- 145
- 桁数
- 3
- 桁
- 1, 4, 5
- 階乗和
- 145
ファクトリオンとは、自身の十進各位の階乗の和と等しい正の整数です。古典的な例は百四十五で、一の階乗に四の階乗と五の階乗を加えると一に二十四と百二十となり、四万五百八十五も五桁を同じ規則で組み立てた結果です。学生、競技参加者、娯楽的な数論を学ぶ方は、各位の寄与を監査できる内訳付きの可否判定をすばやく必要とすることが多いです。本ファクトリオン判定は正の整数を一つ受け取り、桁を展開し、各位の階乗を参照して合計し、その和が元の数と一致するかを報告します。一未満の値は無効な入力として拒否され、教科書やプログラミング課題で用いられる正の整数の定義と契約が揃うようにしています。
ファクトリオンとは何か、どの数が該当するか
十進法では、正の整数をゼロから九までの桁の列として書きます。各位をその階乗に置き換えます。ゼロの階乗と一の階乗はいずれも一、二の階乗は二、三の階乗は六、四の階乗は二十四、五の階乗は百二十、九の階乗は三十六万二千八百八十です。
それらの階乗を足し、合計が元の整数と等しければその数はファクトリオンです。恒等式は厳密な等号であり、合同条件でも桁の累乗和でもありません。アームストロング数やナルシシスト数は各位を桁数に等しい固定の指数で累乗しますが、ファクトリオンは常に桁そのものの階乗を使います。
十進法では正のファクトリオンはごく少数しかありません。よく知られる多桁の例は百四十五と四万五百八十五で、一桁の一と二は一が一次階乗、二が二次階乗と一致するため列挙されることがあります。より大きな候補は、桁の階乗和が n の大きさに追いつかなくなるとすぐに不成立です。
d 桁では可能な最大和は d 倍の九の階乗で、d に対して線形に増える一方、n は d に対して指数的に増えるため、網羅探索は有限に留まります。教材ではファクトリオンをカリキュラムによってはストロング数(同じ桁階乗性の別名)と並べ、ハッピー数や完全数など他の娯楽分類と対比します。
数学的内容は初等的な階乗の計算と桁の抽出だけであり、各項を示す必要のある宿題、面接のウォーミングアップ、自動判定に適しています。
活用例
教室と宿題の確認
学習者は正の整数を送り、各位の階乗の和と等しいかを確認でき、採点用に各階乗項が表示されます。
よくある質問
ファクトリオンとは何ですか?
ファクトリオンは、自身の十進各位の階乗の和と等しい正の整数です。例えば 145 = 1!+ 4! + 5! = 1 + 24 + 120 です。
n が 1 未満の場合はどうなりますか?
本判定は正の整数を要求し、ゼロと負数は拒否され課金されません。
十進法のファクトリオンはいくつありますか?
ごくわずかです。複数桁でよく知られているのは145と40585で、1と2もそれぞれ自分の階乗に等しいため加えられることがあります。
アームストロング数とはどう違いますか?
アームストロング数は各桁を桁数乗して足します。ファクトリオンは各桁の階乗を足し、その和がもとの数とぴったり一致する必要があります。
24がファクトリオンでないのはなぜですか?
2! + 4!は二と二十四で二十六になり、24を超えてしまうからです。判定は「いいえ」となり、両方の項が表示されるので理由も確認できます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/numth/factorion-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":145}'const res = await fetch("https://api.kit.forhosting.com/numth/factorion-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 145
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/factorion-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 145
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/factorion-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":145}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":145}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/factorion-check", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"n": 145
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.factorion_check",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
入力契約、応答フィールド、エラーの扱い
実装は n が存在し、有限で、整数であり、少なくとも一であることを検証します。二の階乗に四の階乗を加えると二十六であり二十四ではないためです。範囲探索も非十進基底も、公開上限を超える多倍長経路もありません。構造化された terms を単体テストに固定すれば、ランタイム間で安定した契約が得られます。必須フィールド n に正の整数を入れた JSON 本体を POST してください。安全整数範囲内の JSON 数値でも、桁だけの文字列でも構いません。同じフィールドの別名 number と value も受け付けます。欠落、非整数、分数、一未満は invalid_input で失敗し、課金されません。成功時は本体が n を返し、digit_count と最上位桁が先の digits 配列を報告し、digit と factorial を持つ terms オブジェクトの列で各寄与を監査可能にし、それらの階乗の整数合計として factorial_sum を与え、factorial_sum が n と等しいときだけ is_factorion を true にします。例:n が百四十五なら桁は一・四・五、階乗は一・二十四・百二十、factorial_sum は百四十五、is_factorion は true です。例:n が二十四なら factorial_sum は二十六で is_factorion は false です。
ファクトリオン判定が役立つ場面と料金
教室やチュータリング基盤では、長い階乗を手計算せずゼロの階乗の端を見落とさずに桁階乗の恒等式を確認するためにファクトリオン判定を使います。面接対策サイトや競技採点器は、ストロング数やファクトリオンの問題を一貫して採点し、ゼロを特別扱いして黙って通すのではなく非正の入力を拒否する決定的なオラクルを必要とします。素数やアームストロング数やハッピー数をすでに付与している整数分類パイプラインは、別の場当たりループを埋め込む代わりに、アイテム単価の一回呼び出しで is_factorion を追加できます。本能力は純粋な parse のティア A のため、成功した呼び出しは毎回公開の基準価格 $0.002 で、外向きネットワークも言語モデル利用もなく、検証失敗は残高を消費しません。リクエストを小さく保ち、n の文書化された上限内に収めれば、宿題チェッカー、LMS プラグイン、娯楽数学のページ、エッジワーカー向けに再現可能なファクトリオン判定が得られ、計算機代数システムを立ち上げる必要はありません。配信はウェブフォーム、タスク API、SDK クライアント、その他の KIT 経路から数学的契約を変えずに行えます。
連携の活用例
面接と競技の採点
ファクトリオンやストロング数の問題向け自動採点は、一未満を拒否し偽陽性を作らない決定的な JSON オラクルを使います。
整数分類パイプライン
娯楽的な性質を付与するスクリプトは、他の数論チェックと並んで is_factorion 用のアイテム単価エンドポイントを呼べます。
技術的な質問
n がファクトリオンかどうかはどう確認しますか?
正の整数フィールド n を含む JSON 本体を送ってください。応答は digits、terms 内の各位の階乗、factorial_sum、および is_factorion の true または false を返します。
145 はファクトリオンですか?
はい。桁 1・4・5 は階乗 1・24・120 を寄与し、和は 145 なので is_factorion は true です。別の多桁ファクトリオンは 40585 です。
ファクトリオン判定の料金は?
ブラウザツールは無料です。API リクエストは成功した呼び出しごとに前払い KIT 残高から $0.002 で、無効な入力は課金されません。