作者yauhh (哟)
看板Programming
标题Re: [问题] 机率问题
时间Sun Jun 9 00:59:52 2013
※ 引述《hirabbitt (兔子)》之铭言:
: 有未知数量的红球与绿球
: 希望给出红球的机率是绿球的三倍
: 不知道应该怎麽做比较好
不管你总共有多少球,只要假定它们是未知数量的资料就好,
每一笔资料配一颗红球和绿球,而配给红球的机率 (请注意,是机率不是比例)
是配给绿球的机率的三倍.
定义以下这个函数:
enum Ball { red_ball, green_ball };
enum Ball getColorBall() {
int ra = 3, ga = 1;
if (rand()*(ra+ga) < ra)
return red_ball;
else
return green_ball;
}
使用这个函数:
for (i=0; i<N; i++) {
ball[i] = getColorBall();
}
然後,祈祷公正的机率会配给你期待的母体.
----------------------------------------------------------------
如果你要的是够正确的母体,那就这样做:
N = total;
for (i=0; i<N/4*3; i++) {
bill[i] = red_ball;
}
for (i=i; i<N; i++) {
bill[i] = green_ball;
}
shuffle(bill);
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 36.226.96.112
※ 编辑: yauhh 来自: 36.226.96.112 (06/09 03:13)