Yahoo奇摩知識+將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+服務將會轉為唯讀模式。其他Yahoo奇摩產品與服務或您的Yahoo奇摩帳號都不會受影響。如需關於Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。
機率法產生的亂數,每個亂數產生的機率相等嗎?
已更新項目:
[心得] 亂數不重複的方法
https://www.ptt.cc/bbs/C_and_CPP/M.1265989028.A.7C...
for(int i = 0,got = 0 ; i < deckSize ; ++i) {
if( rand() % (deckSize-i) < (getSize-got) ) {
cards[got] = i + 1; ++got;
}
基本上就是判斷亂數有沒有在區間內,有在區間內就選這張牌並縮小區間,沒在區間內就縮小亂數範圍。
例如52張牌(亂數範圍)選5張(區間)
第1張牌要不要選
區間內:選這張且區間-1(變成4)
區間外:亂數範圍-1(變成51)
但這樣每張牌選中的機率相等嗎?
2 個已更新項目:
更正
第1張牌要不要選
區間內:選這張,亂數範圍-1(變成51)且區間-1(變成4)
區間外:亂數範圍-1(變成51)
1 個解答
評分
還有問題?馬上發問,尋求解答。