階乗計算機
5!は120、10!は3628800です。0から5000までの整数を入れると、丸めや近似をしない正確な階乗がすべての桁で得られ、順列や組合せ、確率の宿題にそのまま使えます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- N
- 5
- 値
- 120
- 積
- 120
階乗は n までの正の整数すべての積で、n!と書き、あらゆる非負整数で定義され、空積の約束により 0 の階乗は 1 です。順列、組合せ、テイラー級数、確率モデル、答えが近似ではなく厳密でなければならない無数のプログラミング演習に現れます。この計算機は非負整数 n を受け取り、BigInt 演算で求めた厳密な階乗を十進文字列として返します。通常の浮動小数点や安全整数の限界を超える値も桁ごとに正しく保たれます。負の入力と非整数は、黙って誤った答えや丸め近似を返すのではなく、明確な検証エラーで拒否されます。
n の階乗の定義と計算方法
非負整数 n の階乗は、1 から n までの正の整数すべての積です。定義により n が 0 の空積は 1 なので、0 の階乗は 1、1 の階乗も 1 です。列は 2! =2、3! =6、4!
=24、5! =120、6!=720、10! =3628800 と続き、各段でより大きな因子を掛ける意味で超指数的に増大します。本実装は浮動小数点近似、Stirling の近道、ガンマ関数ライブラリを使いません。
積 1 から始め、2 から n までの連続整数を BigInt で掛け、中間・最終の各桁を整数として厳密に保ちます。階乗は 21! で通常の JavaScript 数値の安全整数範囲を超え、数値型だと黙って丸められます。経路は完全に決定的です。
乱数シード、時計、ネットワーク、モデルドリフトはなく、同じ n は常に同じ文字列を返します。
実務で厳密な階乗が現れる場面
プログラミングコンテストとアルゴリズムの授業では、n の階乗、組合せで約分される階乗比、近似ではなく厳密値に依存する性質が頻繁に問われます。信頼できる BigInt オラクルはフィクスチャ作成と採点を加速します。確率・組合せ論の教育者は n 個の相異なる対象の順列を数えるとき、二項係数を n!
/ (k! · (n−k)!)として組み立てるとき、計数関数の増大の速さをスライドと解答キーで示すときに n!が必要です。 科学・工学コードはしばしば級数係数、離散分布、早すぎる浮動小数点切替のライブラリに対する健全性確認のために中小の厳密階乗を必要とします。
厳密な文字列確認は、精度バグがより大きな系に隠れる前に実装を保証します。製品デモや面接準備では短い階乗表がよく示され、1 回の呼び出しで n!を計算すると対話デモが教科書と揃います。
後から二重階乗、多重階乗、準階乗、非整数引数のガンマ関数が必要なら、この計算機ページを過負荷にせず別の検索意図として扱ってください。
活用例
コンテストと宿題のフィクスチャ
オリンピック問題、プログラミング演習、浮動小数点ドリフトを拒否する自動解答キー向けに、厳密な n! 十進文字列を生成します。
順列と増大の教育
階乗列を厳密な文字列として示し、大項を正しく保ち、0!=1 から 10!=3628800 まで教科書の表と一致させます。
ライブラリと DP の健全性確認
数値コードを出荷する前に、階乗ヘルパー、二項中間値、級数係数を信頼できる BigInt 積と照合します。
よくある質問
n の階乗とは何ですか?
n! は非負整数 n に対する積 1×2×…×n で、0!は 1 と定義されます。本ツールはその厳密な積を十進文字列で返します。
なぜ積は数値ではなく文字列ですか?
階乗は 21! で JavaScript の安全整数を超えます。十進文字列は大きな n でも各桁を厳密に保ちます。
n が負または非整数だとどうなりますか?
ここでの階乗は非負整数のみで定義され、負と小数は拒否されます。
0! は許可されますか?
はい。 標準の空積定義では 0 の階乗は 1 です。拒否されるのは負の n と非整数のみです。
どこまで大きな数の階乗を計算できますか?
nは0から5000までです。結果は丸めや近似をせず、すべての桁を正確に示すので、普通の電卓では桁が足りない大きな階乗も確かめられます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/factorial-calculator \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":5}'const res = await fetch("https://api.kit.forhosting.com/math/factorial-calculator", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/factorial-calculator",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/factorial-calculator", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/factorial-calculator", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"n": 5
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.factorial_calculator",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
min_n | 0 |
max_n | 5000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
無料のブラウザツールと有料 API は同一の純粋関数を共有するため、宿題のデモと自動化パイプラインが同じ n で黙って食い違うことはありません。
n の階乗の定義と計算方法
積を十進文字列で返すことで JSON 利用側を誠実に保ちます。n は 0 から 5000 に制限され、無料のブラウザ内ツールと軽量 Worker 経路に適した最悪レイテンシを保ちつつ、コンテスト・教室・厳密な大積のパイプライン需要を満たします。
送信する内容と返される内容
値は 0 から 5000 までの整数である必要があります。負の n に対するエラーは、階乗が非負整数で定義されることを示し、フォームクライアントやスクリプトが推測なしに入力を修正できます。宿題と迅速な健全性確認には無料ブラウザツールを接続し、浮動小数点損失なしの大量階乗フィクスチャや厳密な大積が必要なときは同一契約をスクリプトから呼び出してください。必須の非負整数をフィールド n、または別名 number か value で指定してください。欠落フィールド、非整数、小数、0 未満の n は invalid_input で拒否され、課金されません。成功時の応答には常に正規化された n と、十進表記の厳密な n 階乗である product と value が含まれます(両フィールドは便宜上同じ桁文字列です)。例: n が 0 なら product は 1、n が 1 なら 1、n が 5 なら 120、n が 10 なら 3628800、n が −1 なら invalid_input、n が 3.5 なら invalid_input。契約は単体テスト、教室デモ、一括パイプラインに適した安定 JSON です。成功した API 呼び出しの料金は公開ベースの $0.002/件で、検証失敗は前払い残高を消費しません。
実務で厳密な階乗が現れる場面
本能力は純粋な parse エンジンのため、API 料金は成功件あたり公開ベース $0.002 で、検証失敗は残高を消費しません。
技術的な質問
料金はいくらですか?
ブラウザツールは無料でローカル実行です。API は成功件あたり $0.002 の前払い KIT 残高を使い、無効入力は課金されません。