- データ構造,アルゴリズム,デザインパターン総合スレ 2
471 :デフォルトの名無しさん[sage]:2014/06/05(木) 16:55:24.44 ID:jEZV0Sf8 - >>462
こんなかんじかな。 先頭から、それぞれが選ばれる確率をきちんと設定して、 すべて等確率になるようになってる……はず。 検定は自分でやってくれ。 void choose(int x, int y, int z) { int i; int n = z; int d = (y-x+1); for (i = x; i <= y; i++) { if (n/d の確率で真) { printf("%d ", i); n--; } d--; } }
| - データ構造,アルゴリズム,デザインパターン総合スレ 2
472 :デフォルトの名無しさん[sage]:2014/06/05(木) 17:03:39.05 ID:jEZV0Sf8 - あ、すまん。ぜんぜんちがった。
忘れてくれ。
| - データ構造,アルゴリズム,デザインパターン総合スレ 2
474 :デフォルトの名無しさん[sage]:2014/06/05(木) 17:19:32.12 ID:jEZV0Sf8 - >>462
こうだ。 dCn はコンビネーションな。d!/(n!(d-n)!) のこと。 void choose(int x, int y, int z) { int i; int n = z; int d = (y-x+1); for (i = x; i <= y; i++) { if ( (d-1)C(n-1) / dCn の確率で真) { printf("%d ", i); n--; } d--; } }
|
|