ForHosting KIT · 数学

積の法則(数え上げの基本原理)計算機

シャツ3枚、ズボン4本、靴2足の組み合わせは24通りです。各段階の選択肢の数を入力すると、答えが何百桁になっても正確な組み合わせの総数が分かります。ブラウザで無料で使えます。

  • 無料
  • ブラウザで動作
  • 登録不要
  • データは端末の外に出ません
ご利用方法 ウェブAPIメールTelegramアプリ 近日
入力した場合
段数
3, 4, 2
結果
合計
24
段数
3
カウント
3, 4, 2
桁
2

積の法則——数え上げの基本原理とも呼ばれます——とは、ある過程がいくつかの段階で進み、各段階で選択肢の数が決まっている場合、起こりうる結果の総数はそれらの数の積に等しいという法則です。シャツ3枚、ズボン4本、靴2足なら 3 × 4 × 2 = 24 通りの組み合わせになります。多倍長整数演算を使うため、結果が数百桁になっても精度は失われません。

積の法則が実際に述べていること

複数の独立したステップで行う決定を想像してみてください。最初のステップでは c1 個の選択肢から1つを選び、何を選んだとしても2番目のステップでは c2 個、3番目では c3 個の選択肢があり、以下同様に続きます。数え上げの基本原理は、すべてのステップを通る完全で互いに異なる経路の総数が c1 × c2 × … × ck であることを示します。

前菜4種、主菜6種、デザート3種のメニューなら、4 × 6 × 3 = 72 通りの三品コースができます。重要な前提は、各段階の選択肢の数が以前の選択に依存しないことです。決定木の各枝は、同じ段階では同じ分岐数を持ちます。

この前提が成り立つ限り、木を描く必要はありません。1回の掛け算で総数が求まります。

非常に大きな数のための正確な演算

積は急速に大きくなります。だからこそ数え上げの問題は列挙ではなく掛け算で解くのです。10段階それぞれに10通りの選択肢があるだけで100億通りの結果になり、パスワード、ナンバープレート、製品バリエーション、座席配置といった現実的な組み合わせ空間は、64ビット浮動小数点数で正確に表せる範囲を日常的に超えます。

JavaScriptの数値は 2^53 を超えると暗黙に精度を失い、26^10 のような総数を壊してしまいます。この計算機は任意精度の多倍長整数で積全体を計算するため、応答のすべての桁が正確であり、クライアント側の数値型が受信時に値を損なわないよう、合計を十進文字列として返します。実用上の上限は無限ではなく十分な広さです。

最大1000段階、各段階の数は最大10億まで対応します。

入力の検証と出力の読み方

各段階の数は正の整数でなければなりません。ゼロは拒否されます。 選択肢がゼロの段階は過程全体を不可能にし、暗黙にゼロを返せばモデル化の誤りを隠してしまうからです。分数、負の数、数値でない文字列も同様に拒否されます。

入力が有効な場合、応答は正規化された各段階の数をそのまま返し、何段階を掛けたかを示し、合計を十進文字列とその桁数とともに返します。このページのブラウザツールで対話的に試してください。数値は計算された後、破棄されます。

メニューや製品の組み合わせ数を数える

サイズ、色、仕上げなどカテゴリごとの選択肢を掛けて、カタログに実際に何種類のバリエーションがあるかを把握します。

パスワードやコードの空間を見積もる

6桁のPINなら 10^6、8文字のコードなら 26^8 を計算し、セキュリティレビューで総当たり攻撃への耐性を検討します。

数学の授業用の問題を生成する

授業スクリプトからランダムな段階の数を入力し、手計算なしで積の法則の問題の正確な解答を得ます。

数え上げの基本原理とは何ですか?

各段階に c1, c2, ..., ck 個の選択肢がある過程では、結果の総数が積 c1 × c2 × … × ck に等しいという法則です。

なぜ段階の数にゼロは拒否されるのですか?

選択肢ゼロの段階は、完全な結果が存在しないことを意味します。暗黙のゼロではなくエラーを返すことで、ほぼ常にモデル化の誤りである問題を明らかにします。

結果はどれくらい大きくなりますか?

上限の範囲内で任意に大きくなります。最大1000段階、各段階は最大1000000000までです。合計は多倍長整数で計算され、正確な十進文字列として返されます。

入力は保存されますか?

いいえ。 各段階の数はメモリ上で掛け算された後に破棄され、結果だけが返されます。

積の法則が使えるのはどんなときですか?

前の段階で何を選んでも、次の段階の選択肢の数が変わらないときです。この条件が成り立てば樹形図を描く必要はなく、前菜4品、主菜6品、デザート3品なら4×6×3で72通りと、掛け算だけで総数が出ます。

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

POSThttps://api.kit.forhosting.com/math/fundamental-counting-principle

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

curl -X POST https://api.kit.forhosting.com/math/fundamental-counting-principle \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"stages":[3,4,2]}'
{
  "stages": [
    3,
    4,
    2
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "math.fundamental_counting_principle",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

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

1リクエストあたり$0.002

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

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

このAPIは各段階の選択肢の数を配列として受け取り、その積を正確に返します。

積の法則が実際に述べていること

このエンドポイントはまさにその法則を実装したもので、段階ごとの選択肢の数を配列として送ると、正確な積とともに段階数と結果の桁数が返され、桁の規模を一目で確認できます。

非常に大きな数のための正確な演算

教科書のすべての練習問題と、スクリプトで扱う現実的な組み合わせ空間を網羅しつつ、無料のブラウザ版は即座に動き、APIのコストも抑えられています。

入力の検証と出力の読み方

検証に失敗すると、APIは問題の正確な位置(例:stages[2])を示す invalid_input エラーを返すため、呼び出し側のスクリプトが問題を直接表示できます。APIとまったく同じコードが動いています。総数を授業ジェネレーターや在庫システム、テストスイートに組み込む必要がある場合はAPIをご利用ください。APIの1リクエストの料金は $0.002 で、データは保存されません。

料金はいくらですか?

API経由で1リクエストあたり $0.002 です。このページのブラウザでも無料で実行できます。同じコードが両方を支えています。

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