给定一个随机数生成器(0,1),构造一个随机数生成器(0,4)
生活随笔
收集整理的這篇文章主要介紹了
给定一个随机数生成器(0,1),构造一个随机数生成器(0,4)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
? ? ?現(xiàn)給定一個(gè)隨機(jī)數(shù)生成器range2(),可等概率的生成0和1,現(xiàn)如何構(gòu)造一個(gè)隨機(jī)數(shù)生成器range5(),可等概率的生成0,1,2,3,4。
? ? ?目前有個(gè)有點(diǎn)low的想法:
? ? ?因?yàn)楝F(xiàn)在已有可生成0,1的隨機(jī)數(shù)生成器,任何數(shù)均可用二進(jìn)制表示,用range2()等概率的生成000,001,010,011,100,101,110,111,然后將101,110,111拋棄即可,在生成5,6,7的時(shí)候繼續(xù)調(diào)用range5()。
? ? ?代碼如下:
int range5() {if(range2())//1,代表首位{if(range2())//1,代表中間一位{return range5();}else //0,中間一位{if(range2()) //1return range5();else //0,最后一位,100return 4;}}else{//首位0if(range2())//中間一位1{if(range2())//最后1,011return 3;else //010return 2;}else{ //中間一位0if(range2()) //001return 1;else //000return 0;}} } ? ? ? 如有問(wèn)題,歡迎指出。
總結(jié)
以上是生活随笔為你收集整理的给定一个随机数生成器(0,1),构造一个随机数生成器(0,4)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mamp 配置php,mamp如何修改p
- 下一篇: QML 中播放PPT文件