順列計算機
順序が意味を持つ並べ方を数えます。5人の走者のうち3人が1位から3位を占める方法は60通りでP(5,3)です。ABCとACBは別の着順として数えます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- N
- 5
- 抵抗(Ω)
- 3
- 順列
- 60
- 記法
- P(5,3)
順序付きの配置は、並びが結果を変える場面で重要になります。レースの着順、パスワードの文字位置、座席表、再生リスト、試験問題の出題順などがその例です。古典的な数え上げは、n個からr個取る順列Pであり、nの階乗をnからrを引いた階乗で割った値に等しく、しばしばnPrまたはP(n,r)と書かれます。本計算機はその公式を厳密なBigInt演算で評価するため、大きな中間積が浮動小数点の丸めで桁を失うことはありません。rがnを超えると、その領域では順列が未定義であるため、明確な検証エラーで要求は失敗します。
P(n,r)が数えるものと順序付き配置を使う場面
n個の相異なる要素から選んだr個の順列とは、繰り返しなしで長さrの任意の順序付き列です。順序は重要で、ABCとACBは同じ三文字の異なる配置です。閉形式はP(n,r)がnの階乗をnからrを引いた階乗で割った値であり、nから始まり一ずつ下がってnからrを引いて一を足した値まで続くr個の連続整数の積に展開されます。
教室の定番例には、n人のクラブから会長・副会長・書記を選ぶこと、n人の選手からr人を並べること、一位と二位が異なるr個の賞を割り当てることが含まれます。rがnに等しいとき、数え上げは完全な階乗n!に縮み、各要素はすべての並びで一度ずつ現れます。
rがゼロのとき、積は空で、空の列ただ一つに対応して慣例により数え上げは一です。組合せC(n,r)は別の問いを答えます。順序を無視しP(n,r)をr!
で割るため、同じメンバーを共有するなら二つの並びを同一とみなす問題では、順列ではなく組合せが必要です。この区別を早期に理解すれば、離散数学の宿題や面接のウォームアップで最も多い誤りを防げます。本ツールは順序付きの数え上げのみに焦点を当て、nPr計算機を探す人が本当に必要な公式にたどり着けるようにしています。
本計算機がnPrを計算し入力を検証する方法
エンジンは両方が有限の非負整数として存在し、公開上限である一万以下であることを確認します。受理された対については、実装はnから下へちょうどrステップ分のBigInt因子を掛け合わせます。これは二つの完全な階乗を実体化して割ることなく、nの階乗をnからrを引いた階乗で割った値そのものです。
応答はnとr、P(5,3)のような記法文字列、階乗形の公式文字列もエコーします。境界は明示的で、任意のnをゼロ個取るPは一、nをn個取るPはnの階乗です。
活用例
宿題・コンテストの検証
学習者と採点者は、局所のコンピュータ代数系なしに順序付き標本問題のP(n,r)を確認でき、境界P(n,0)=1とP(n,n)=n!も含みます。
確率スクリプトでの標本空間サイズ
非復元の順序付き抽選をモデルするパイプラインは、各言語でBigInt積を再実装する代わりに決定的なnPrオラクルを呼び出せます。
順序と組合せの対比教育
順列と組合せを対比する教材ページは、厳密なP(n,r)を積の定義の横に示し、学習者がnPr記法を順序付き配置に結び付けられるようにできます。
よくある質問
nPrの公式は何ですか?
P(n,r)はnの階乗を(n−r)の階乗で割った値、すなわち積n×(n−1)×…×(n−r+1)です。順序は重要で、要素は繰り返しません。
rがnより大きいとどうなりますか?
rがnを超えるとき順列P(n,r)は未定義であり、その呼び出しは課金されません。
順列と組合せはどう違いますか?
順列は順序付き配置を数えます(ABC ≠ ACB)。組合せC(n,r)は非順序部分集合を数え、P(n,r)をr!で割った値です。 本機能は順序付きの数え上げP(n,r)のみを返します。
5人のクラブで会長・副会長・書記を選ぶ方法は何通りですか?
60通りです。合計に5、役職の数に3を入力してください。役職はそれぞれ異なるため、同じ3人でも順番が違えば別の選び方になります。
rが0のときやnと等しいときはどうなりますか?
rが0なら結果は1です。何も並べない空の並びが1通りあるためです。rがnと等しいときは、すべての要素の並べ方であるn!になります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/combo/permutations \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":5,"r":3}'const res = await fetch("https://api.kit.forhosting.com/combo/permutations", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 5,
"r": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/combo/permutations",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 5,
"r": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/combo/permutations", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":5,"r":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":5,"r":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/combo/permutations", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"n": 5,
"r": 3
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "combo.permutations",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_n | 10000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
本計算機がnPrを計算し入力を検証する方法
必須の整数フィールドnとrを含むJSON本体を送信してください。rがnより大きい場合、その領域規則を示すinvalid_inputで要求は直ちに失敗し、課金されません。欠落フィールド、非整数、負値、上限超過も同様にinvalid_inputで失敗します。積は安全な整数範囲に収まるときはJSONの数として、そうでなければクライアントが高位桁を失わないよう十進文字列として返されます。
実用、上限、料金、提供方法
離散数学の学習、コンテスト解答の確認、コンピュータ代数系を入れずに順序付き標本抽出を説明するときに、即時で厳密なnPrが欲しければブラウザツールを使ってください。受理インデックスはゼロから一万までなので、教室デモや組合せフィルタが病的な積による無制限のメモリ増加なしに実用的です。言語モデルも外部算術サービスも乱数もなく、継続的インテグレーションの検査や再現可能な教材に固定しても安全です。スクリプト、宿題チェッカー、面接準備プラットフォーム、教育サイトが単一契約下で多くの対に安定したJSONを必要とするときはAPIを使ってください。成功した要求はそれぞれ$0.002で請求される一項目で、検証失敗は残高を消費しません。結果は完全に決定的で、同じnとrは常に同じ順列値・記法・公式フィールドを返します。組合せデモ、コーディング面接サンドボックス、順序付き抽選の標本空間サイズが必要な確率チュートリアル、あるいはrがnを超えるときの積構造や領域制限を示せない不透明なブラックボックス計算機より厳密な順列算術をすでに好む整数前処理へ、このエンドポイントを接続できます。
技術的な質問
このAPIで順列P(n,r)をどう計算しますか?
整数フィールドnとrを含むJSON本体をcombo.permutationsへ送ってください。応答はpermutations、P(5,3)のような記法、階乗の公式を返します。
順列計算機は無料ですか?
ブラウザツールはお使いの端末上で無料で動きます。API呼び出しは成功項目ごとに$0.002の前払いKIT残高を使い、検証失敗は課金されません。