久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

立即注冊 登錄
返回首頁

uid:189279的個人空間

日志

經(jīng)常使用的小程序

已有 694 次閱讀2019-12-15 22:51 |個人分類:程序算法| 程序算法

聲明:摘自牛客
輸出隨機(jī)數(shù):從0...n-1中等概率隨機(jī)輸出m個不重復(fù)的數(shù)字,并且假設(shè)n遠(yuǎn)大于m
knuth(int n, int m)
    srand((unsigned int)time(0)); 
    for (int i = 0; i < n; i++) { 
        if (rand () % (n - i) < m) { 
            cout << i << endl;
            m--;
        }
     }
}
由這個for循環(huán)循環(huán)n次,且在滿足條件時才輸出i,可知,輸出m個不同值的要求已滿足,因為每次輸出的都是i值,而i值每次都是不一樣的,m--保證了程序在輸出了m個值后就停止循環(huán)。
在i=0時,rand()%(n-i)的取值范圍為0到n-1,共n個數(shù),此時要輸出0只需要rand()%(n-i)小于m,故i=0被輸出的概率為m/n;
在i=1時,rand()%(n-i)的取值范圍為0到n-2,共n-1個數(shù),若i=0沒有被輸出,則m--未被執(zhí)行,此時i=1被輸出的概率為m/(n-1),若i=0已經(jīng)被輸出了,則m變?yōu)閙-1,此時i=1被輸出的概率為(m-1)/(n-1);由概率論的知識,可知此時i=1被輸出的概率為
P=(1-m/n)*(m/(n-1))+m/n*((m-1)/(n-1))=m/n;以此類推,可知每個數(shù)被輸出的概率都為m/n

路過

雞蛋

鮮花

握手

雷人

評論 (0 個評論)

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

返回頂部
主站蜘蛛池模板: 国产一区二区在线视频 | 久久久久亚洲精品 | 久久99精品久久久久婷婷 | 91成人精品视频 | 亚洲精品九九 | 日本精品视频在线 | 成人精品一区二区户外勾搭野战 | 有码一区 | 亚洲欧美日韩中文字幕一区二区三区 | 国产精品久久久久久久 | 免费在线黄 | 毛片网站免费观看 | 午夜免费在线电影 | 亚洲精品久久久久久首妖 | 91网站视频在线观看 | 九九久久久 | 天天综合干 | 欧美黄色精品 | 国产精品久久久久久久免费观看 | 久久国产精品久久 | 中文字幕在线精品 | 日韩精品极品视频在线观看免费 | 欧美黄色片 | 亚洲免费在线视频 | 亚洲免费福利视频 | 羞视频在线观看 | 日本欧美大片 | 中文字幕电影在线观看 | 欧美精品一区二区在线观看 | av在线一区二区三区 | 日批免费在线观看 | 精品久久国产视频 | 久久中文免费视频 | 九九热精品视频 | 日本一区二区在线视频 | 欧美国产精品一区二区三区 | 欧美视频在线一区 | 国产 日韩 欧美 制服 另类 | 亚洲一区二区精品 | av网站在线播放 | 国产精品18久久久久久白浆动漫 |