1
vayn 2011-04-08 16:09:15 +08:00
想到个土办法, 随机生成 1-10, 选到前5个输出 0,选到后 5 个生成 1
|
2
vayn 2011-04-08 16:11:24 +08:00
random.choice([0, 1]) 可行否?
|
3
Kymair 2011-04-08 16:21:13 +08:00
跑两次,如果结果是00或11就重新再来跑两次,直到结果是01或10为止。01则返回0,10则返回1
|
4
Kymair 2011-04-08 16:22:52 +08:00
.. 500 error
看来发帖时碰到500要谨慎重发 |
5
olive1 2011-04-08 16:25:39 +08:00
if(p>(1-p)){
p-x=0.5; 1-p+x=0.5; }else{ p+x=0.5; 1-p-x=0.5; } |
6
raptium 2011-04-08 16:34:23 +08:00
看到第一句話讓我想起上個學期拿了 C+ 的 Information Theory ...
話說 @Kymair 的答案就是正確答案吧 貌似在哪兒看過了~~ |
7
darasion OP |
8
vayn 2011-04-08 16:49:55 +08:00
|
9
9hills 2011-04-08 16:58:22 +08:00
原来如此,p(1-p) = (1-p)p
没想到 |
10
aligo 2011-04-08 18:59:03 +08:00
|
11
9hills 2011-04-08 19:56:55 +08:00
@aligo 可以证明啊,连续投两次为11的概率为p*p,10是p*(1-p),01是(1-p)*p,00为(1-p)*(1-p)
由于抛出11和00后就放弃重抛,10和01的概率明显相等。 最笨的证明用无穷级数的办法做--- |
12
Kymair 2011-04-09 00:21:13 +08:00
跑两次,如果结果是00或11就重新再跑两次,直到结果是01或10为止。01就返回0,10就返回1
|