1

本当に漠然とした声明(私にとって)

計算する基本的な式は何ですか:

  • 「整数として一度にk個取られるn個の組み合わせの数」

編集: もう少し明確にする:「たとえば、一度に3つ取られる4つのアイテムa、b、c、dの組み合わせは、abc、abd、acd、およびbcdです。つまり、合計4つの異なる組み合わせがあります。 「一度に3つ取った」4つのもののうち。

CSの学位を取得するために数学の要件を満たそうとしているときに、入門以外のCクラスを受講しています。これまでのすべての仕事で非常に高いスコアを獲得していますが、より高いレベルの数学が登場すると、本当に行き詰まります。しかし、私は逸脱します。

数値の範囲は、 nの場合は1〜10 、kの範囲は1〜4になります。

以下は私が受け取った唯一の参照であり、それは私の頭をはるかに超えています。

http://www.themathpage.com/aPreCalc/permutations-combinations-2.htm

4

2 に答える 2

2

基本的な式は n!/(k!(nk)!) です。これを計算する効率的な方法は、パスカルの三角形の 2D DP テーブルを使用することです。

于 2013-02-09T01:36:26.880 に答える
1

このページの重要な表現は次のとおりです。

  • n C k = n! ÷ ((n − k)! k!)

これは、「一度にk 個取られるn 個の物の組み合わせの数」の簡単な式です。n C kという用語は、数学者が「一度にk 個取られるn 個の物の組み合わせの数」と書く方法です。右側の式は、正しい値を計算するための簡潔で正確かつ簡単な方法です。n!を知っていることを前提としています。は階乗nであり、その '階乗n ' は、1 からnまでの各数値を掛け合わせることを意味します。

n ! は非常に急速に大きくなるため、単純なアルゴリズムは約n = 12までは機能しますが、それをはるかに超えると、非常に注意する必要があります。

  • 0! = 1
  • 1!= 1
  • 2!= 2
  • 3!= 6
  • 4!= 24
  • 5!= 120
  • 6!= 720
  • 7!= 5040
  • 8!= 40320
  • 9!= 362880
  • 10!= 3628800
  • 11!= 39916800
  • 12!= 479001600
  • 13!= 6227020800

13に注意!は大きすぎて 32 ビットの符号なし整数に収まらず、21! は大きすぎて 64 ビットの符号なし整数に収まらず、35! は大きすぎて 128 ビットの符号なし整数に収まりません (そのようなタイプのコンピューターが見つかれば)。

それでも対処できない場合は、転送で問題に直面することになります。これはそれほど複雑な数学ではありません。

于 2013-02-09T01:40:28.730 に答える