- PR -

TreeSetを用いたnCrの算出方法について

1
投稿者投稿内容
aluck
会議室デビュー日: 2005/01/25
投稿数: 19
お住まい・勤務地: 某S
投稿日時: 2005-02-06 10:44
TreeSet tset = new TreeSetで
tset=[0,1,2,3,4]と割り振られていたとします。その時に
[0,1][0,2][0,3][0,4],[1,2][1,3][1,4],[2,3][2,4],[3,4]=5C2=10とおり
[0,1,2][0,1,3][0,1,4],[0,2,3][0,2,4].....=5C3=10とおり
[0,1,2,3][0,1,2,4][0,1,3,4][0,2,3,4].....=5C4=5とおり
というふうにtreesetの要素数を5とするとSystem.outで、5C2〜5C4までの数を表示したいのですがどのようにすれば効率がよろしいでしょうか?
よろしくお願いします。


[ メッセージ編集済み 編集者: aluck 編集日時 2005-02-06 10:45 ]
koe
大ベテラン
会議室デビュー日: 2003/07/13
投稿数: 198
投稿日時: 2005-02-06 11:02
nCrというか、組み合わせの生成ですね。
「Javaによるアルゴリズム事典」に載ってますので、読んでみるよと良いでしょう。
http://www.amazon.co.jp/exec/obidos/ASIN/4774117293
http://www.gihyo.co.jp/books/syoseki-contents.php/4-7741-1729-3
本が手元になく詳細は思い出せませんが、確かビット演算を使って全ての組み合わせを求めていた覚えがあります。

学生の宿題ではなく業務で使うのでしたら、買って読んでみてもいいのではないでしょうか。
1

スキルアップ/キャリアアップ(JOB@IT)