第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從范圍生成隨機整數(shù)

從范圍生成隨機整數(shù)

C++
慕標(biāo)琳琳 2019-06-23 17:02:29
從范圍生成隨機整數(shù)我需要一個函數(shù),它將在給定的范圍內(nèi)生成一個隨機整數(shù)(包括邊框值)。我沒有不合理的質(zhì)量/隨機性要求,我有四個要求:我需要它快點。我的項目需要生成數(shù)百萬(有時甚至數(shù)千萬)隨機數(shù),而我當(dāng)前的生成器功能已經(jīng)被證明是一個瓶頸。我需要它是合理的統(tǒng)一(使用蘭特()是完全好的)。最小-最大值范圍可以是從<32727,1>到<-32727,32727>的任何范圍.它必須是可播種的。我現(xiàn)在有以下C+代碼:output = min + (rand() * (int)(max - min) / RAND_MAX)問題是,只有當(dāng)rand()=rand_max(對于Visualc+是1/32727)時才返回它不是真正的一致-max。對于諸如<-1,1>這樣的小范圍來說,這是一個主要問題,因為最后一個值幾乎永遠不會返回。于是我抓起筆和紙,提出了以下公式(它建立在(Int)(n+0.5)整數(shù)四舍五入技巧的基礎(chǔ)上):但它仍然沒有給我統(tǒng)一的分布。重復(fù)運行的10000個樣本給我的比率為37:50:13的數(shù)值-1,0。1.你能推薦更好的配方嗎?(甚至整個偽隨機數(shù)產(chǎn)生函數(shù))
查看完整描述

3 回答

?
絕地?zé)o雙

TA貢獻1946條經(jīng)驗 獲得超4個贊

一個快速的,略好于您的,但仍然不完全統(tǒng)一的分布式解決方案是

output = min + (rand() % static_cast<int>(max - min + 1))

除非范圍的大小是2次方,這種方法產(chǎn)生偏非均勻分布數(shù)字不管質(zhì)量rand()..為了全面測試這種方法的質(zhì)量,請讀這個.


查看完整回答
反對 回復(fù) 2019-06-23
  • 3 回答
  • 0 關(guān)注
  • 513 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號