ForHosting KIT · 数学

順列・組合せ計算機

n個の中からr個を選ぶ方法が何通りあるかを求めます。5個から2個を選ぶ場合、順番を問わない組合せは10通りで、順列は並び順ごとに別々に数えます。nは1000まで、結果は正確な整数で表示されます。ブラウザで無料で使えます。

  • 無料
  • ブラウザで動作
  • 登録不要
  • データは端末の外に出ません
ご利用方法 ウェブAPIメールTelegramアプリ 近日
入力した場合
全要素数(n)
5
選択する要素数(r)
2
計算モード
C
結果
結果
10

整数 n と r、モード(順列または組合せ)を入れると、結果が正確な十進文字列で返ります。

P と C の意味

P(n,r) は n 個から r 個を順序付きで選ぶ場合の数、C(n,r) は順序なしの場合の数です。n と r は 0 以上 1000 以下の整数で、r は n 以下でなければなりません。mode は P/p/permutation/perm または C/c/combination/comb を受け付け、出力は P または C に正規化されます。

通信もロケール依存もありません。結果はネットワークを呼びません。

浮動小数を使わない BigInt 積

順列は n から降順に r 回掛けます。組合せは各段で (n-i) を掛けたあと (i+1) で割り、必要なら r を min(r,n-r) に置き換えて計算量を減らします。すべての段が BigInt なので P(1000,3) や C(30,5) も科学表記なしの正確な文字列です。

通信もロケール依存もありません。実装を共有しない独立オラクルでも一致します。

型付きエラーと範囲

先頭のマイナスは negativo、r>n は range、1000 超は n または r です。空文字・プラス・小数点は形式エラーです。契約が短いため独立オラクルも全ベクトルで一致します。

通信もロケール依存もありません。これにより教室の検算が再現可能になります。

パイプライン向けの出力

成功時は常に正規化済みの n と r、mode(P|C)、result 文字列、formula(例 C(5,2))を返します。v1 は重複ありや多項は扱いません。通信もロケール依存もありません。

将来の版で範囲を広げる議論ができます。

宿題の検算

教科書の nPr/nCr をすぐ確認。

抽選

順序なしは C(n,r)。

座席

順序ありは P(n,r)。

順列と組合せの違いは何ですか?

順列は順番を区別して数えるので、AのあとにBを選ぶのとBのあとにAを選ぶのは別です。組合せは順番を区別しません。5個から2個なら組合せは10通りで、順列はその2倍になります。

宝くじの当選番号の数え方にはどちらを使いますか?

組合せを使います。数字が出る順番が変わっても、くじの中身は変わらないためです。席の割り当てや表彰台の順位のように、順番に意味がある場合は順列を使ってください。

rがnより大きくてもよいですか?

いいえ。あるものより多くは選べないため、rはn以下である必要があります。どちらも0から1000までの整数でなければならず、範囲外の値は受け付けません。

同じものを何度も選ぶ場合も数えられますか?

いいえ、数えられません。一度選んだものは二度と選ばない前提で計算します。重複を許す選び方や多項係数には対応していないため、元に戻さずに選ぶ問題かどうかを確かめてください。

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

POSThttps://api.kit.forhosting.com/dev/permutation-combination

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

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

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

1リクエストあたり$0.002

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

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

P と C の意味

trim 後に未知の mode は invalid_input になります。

浮動小数を使わない BigInt 積

float・真偽値・01 のような先頭ゼロは該当フィールドで拒否します。

型付きエラーと範囲

n・r・mode の欠落は invalid_input です。

CI

正確な文字列をゴールデンに固定。

r は n を超えられる?

いいえ。range になります。

小数は?

v1 では不可。0..1000 の整数のみ。

n の上限は?

1000 以下です。

result の型は?

正確な整数の十進文字列です。

ブラウザは無料?

はい。API は $0.002。

float を使う?

いいえ。BigInt のみです。

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