- 締切済み
TopPascal に関することでお聞きします。
次のような問題を解いているのですが、どうにもお手上げ状態です・・・。どなたか解いていただけないでしょうか。 1からmまでの整数の集合 A={n∈N(自然数) | 1≦n≦m} の中からn個の整数を取り出す組み合わせを全て生成するプログラムを作れ。また、5C3の場合を表示せよ。 1つの組み合わせを a1,a2,a3...an とするとき、 a1<a2<...<an と仮定してよい。大きい方から順に確定して行くことにして、 ak<...an-1<an まで生成できたとして次の ak-1 は、 {k-1,k,...,ak-1}⊂A のどれかになる。 どうぞ宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- osamuy
- ベストアンサー率42% (1231/2878)
回答No.1
1から2のm乗-1の整数値を列挙して、その中で1がたっているビットの数がn個だったら、そのビット位置を出力するようにすれば、mCnを求められます。 多分こんな非効率的な回答を出すやつは少ないと思われるので、先生も褒めてくれるかと。