2012年10月28日

等概率产生0和1(延伸)

摘要: 1.有一个随机数发生器,能以概率p生成0,以概率1-p生成1,问如何做一个随机数发生器使得生成0和1的概率相等。2.用上面那个生成0和1的概率相等的随机数发生器,怎样做一个随机数发生器使得它生成的数在1...N之间均匀分布。第一题比较简单,可以用原发生器周期性地产生2个数,直到生成01或者10。由于生成01和10的概率均为p(1-p),故预先任意指定01为0(或1),10为1(或0)即可。即可等概率的产生0和1,但然,要考虑其他组合的不可用性,获取题目本身就隐含了这个bug或是缺陷吧。int Rand() { int i1 = rand(); int i2 = rand(); if(i1... 阅读全文

posted @ 2012-10-28 21:29 linzuxin 阅读(372) 评论(0) 推荐(0) 编辑

导航