ForHosting KIT · 数学

完全順列計算機

どれも元の場所に残らない並べ替えの数を求めます。5人でプレゼント交換のくじを引くと、誰も自分を引かない組み合わせは44通りで、これが!5です。ブラウザで無料で使えます。

  • 無料
  • ブラウザで動作
  • 登録不要
  • データは端末の外に出ません
ご利用方法 ウェブAPIメールTelegramアプリ 近日
入力した場合
N
5
結果
完全順列数
44
表記
!5

完全順列(ディレンジメント)とは、n個の要素のうちどの要素も元の位置に現れない順列です。古典的な帽子預かり問題、自己割当のないシークレットサンタ、固定カードを避けるシャッフルはいずれも同じ個数を求めます。その個数がサブ階乗 ! n であり、d(n) や D_n とも書かれます。本計算機は決定的な漸化式により !n を評価します。! 0 は1、!1 は0、それより大きい n では値は「n−1」に直前の2つのサブ階乗の和を掛けたものであり、BigInt で実装しているため教室規模・面接規模の答えも厳密です。負の n は検証エラーで拒否されます。列は非負整数でのみ定義されるためです。

完全順列が数えるものとサブ階乗が重要になるとき

有限集合の完全順列とは、不動点のない全単射です。すべての要素が動きます。n要素集合のそのような順列の個数がサブ階乗 !

n です。 概念を有名にした話は帽子預かり問題です。n人の客がn個の帽子を預け、それぞれがランダムな帽子を受け取るとき、全員が誤った帽子を受け取る方法は何通りか。シークレットサンタの抽選、全員がいつもの席を禁じられる座席計画、固定インデックスのない順列を求めるコーディング問題は、名前は違っても同じ組合せ的対象です。

数列は空積の慣例で ! 0 が1、1要素は動けないので !1 が0、! 2 が1、!3 が2、! 4 が9、!

5 が44から始まります。大きな n では ! n と n!の比は 1/e に近づくため、確率の授業ではランダム順列が完全順列になる確率はおよそ37パーセントと述べます。

通常の階乗は不動点を含むすべての順列を数え、順列 P(n,r) は大きさ r の順序付き標本を数え、組合せは順序を無視します。「何も元の位置に残らない方法は何通りか」が問いなら、他の道具ではなくサブ階乗が必要です。本機能はその順序付き・不動点なしの個数だけを返すので、完全順列やサブ階乗の計算機を探す人が本当に必要な式にたどり着けます。

本計算機が !n を評価し入力を検証する方法

エンジンは n が公開上限一万以下の有限な非負整数として存在することを確認します。受理された n については、基底から漸化式をたどります。!0 を1、! 1 を0とし、k を2から n まで進め、!

k を「k−1」に「!(k−1)+!( k−2)」を掛けた値に BigInt 算術で設定します。この漸化式は包除原理形「!

n は n の階乗に逆階乗の交代和を掛けたもの」と代数的に同値ですが、浮動小数の除算を必要とせず完全な階乗を展開しません。応答は n、感嘆符五のような表記文字列、漸化式または基底を説明する短い公式注記も返します。端点は明示的です。! 0 は1、!

実用、上限、料金、提供形態

離散数学の学習、コンテスト答案の確認、計算機代数系を入れずに帽子預かり問題を説明するときなど、すぐに厳密な !n が欲しい場合はブラウザツールを使ってください。検証失敗は残高を消費しません。

受理インデックスは0から一万までで、教室デモや組合せフィルタが病的な積での無制限メモリ増加なしに現実的に保てます。結果は完全に決定的です。言語モデルも外部算術サービスも乱数もないため、継続的インテグレーションの検査や再現可能な教材に安全に固定できます。

宿題・コンテストの検算

学生と採点者は、ローカルの計算機代数系なしに帽子預かりやシークレットサンタ問題の !n を、基底 !0=1 と !1=0 を含めて確認できます。

不動点なしモデルの標本空間の大きさ

ランダムな完全順列をモデル化するパイプラインは、言語ごとに BigInt 漸化式を再実装する代わりに決定的なサブ階乗オラクルを呼べます。

完全順列と通常の順列の対比授業

n! と !n を対比する教材ページは、漸化式の横に厳密な個数を示し、学習者がサブ階乗記法を不動点のない順列と結び付けられます。

サブ階乗 !n の公式は何ですか?

基底は ! 0=1 と !1=0 です。 n≥2 では !n=(n−1)(!( n−1)+!(n−2)) です。 同等に !n=n×!( n−1)+(−1)^n です。個数は不動点のない順列の数です。

n が負の場合はどうなりますか?

完全順列は非負整数でのみ定義され、その呼び出しは課金されません。

完全順列は通常の順列とどう違いますか?

階乗 n! は n 個の要素のすべての順列を数えます。サブ階乗 ! n は不動点のないものだけを数えます。大きな n では ! n/n!は 1/e ≈ 0.3679 に近づきます。

ランダムに並べ替えたとき、どれも元の位置に残らない確率はどのくらいですか?

nが大きくなると1/eに近づき、およそ37パーセントになります。これはサブ階乗 !n を、すべての並べ方の数である n! で割った値です。

小さいnでは完全順列はいくつありますか?

!0 = 1、!1 = 0、!2 = 1、!3 = 2、!4 = 9、!5 = 44と続きます。0個の場合は空の並べ方を1通りと数え、1個だけでは動かしようがないため0になります。

このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。

POSThttps://api.kit.forhosting.com/combo/derangement

Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。

curl -X POST https://api.kit.forhosting.com/combo/derangement \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"n":5}'
{
  "n": 5
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "combo.derangement",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。

1リクエストあたり$0.002

単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。

max_n10000
HTTPコード意味
401unauthorizedAPIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。
402insufficient_balance残高が不足しています。チャージ後に再度お試しください。
404unknown_type指定されたタスクタイプは存在しません。タイプ名を確認してください。
429rate_limitedリクエストが多すぎます。しばらく待ってから再度お試しください。

本計算機が !n を評価し入力を検証する方法

必須の整数フィールド n を含む JSON 本体を送ってください。n が負なら、その定義域規則を示す invalid_input で直ちに失敗し、課金されません。欠落フィールド、非整数、非有限値、上限超過も invalid_input で失敗します。積は安全整数範囲に収まるときは JSON 数値として、そうでなければ十進文字列として返し、上位桁の損失を防ぎます。

実用、上限、料金、提供形態

スクリプト、宿題チェッカー、面接対策プラットフォーム、教育サイトが単一契約の下で多くの値について安定した JSON を必要とする場合は API を使ってください。成功した各要求は $0.002 の1請求品目です。同じ n は常に同じ完全順列の値、表記、公式フィールドを返します。組合せデモ、コーディング面接サンドボックス、不動点なし標本空間の大きさが必要な確率チュートリアル、あるいは近似的な e ベースのヒューリスティックや、負の n のときの定義域制限や漸化式構造を示せない不透明なブラックボックス計算機より厳密なサブ階乗算術をすでに好む整数前処理に、エンドポイントを接続してください。

この API で n の完全順列の個数をどう計算しますか?

整数フィールド n を含む JSON 本体を combo.derangement に送ってください。応答は derangements、!5 のような表記、漸化式の短い公式注記を返します。

完全順列計算機は無料ですか?

ブラウザツールはお使いの端末上で無料です。API 呼び出しは成功品目ごとに $0.002 の前払い KIT 残高を使い、検証失敗は課金されません。

KITの完全なドキュメントを見る →