等概率产生随机数
1.r()函数等概率随机产生1到5,如何等概率随机产生1-7?
- r()-1产生0-4
- (r()-1)*5产生0,5,10,15,20
- f() = (r()-1)*5 + r()-1产生0-24
- f()%7且f()产生21-24重做,则f()%等概率产生0-6,加1等概率产生1-7;
- 方法为插孔加筛选
2.概率p产生0,1-p产生1,怎么等概率产生0,1?
产生01和10的概率相等
3.r()产生1-M,怎么等概率产生1-N
- 把r()当做M进制,看看产生1-n最少要多个位m进制