[問題] rand()
不好意思
小弟有點緊急
如果格式不對或不該PO在這個版 小弟我會馬上刪除
------------------------------------------------
最近需要取均勻整數亂數在約[0, 150,000,000] 之間
約需取 15,000,000 次
產生有兩個問題
(1)
我知道 rand()%150,000,000 可能不夠亂
可是想稍微知道這樣做的缺點可能有哪些 (ex:週期不夠長之類的)
(2)
後來用了 <trl/random> 中的uniform_real
使用的code如下:
typedef std::tr1::mt19937 ENG; // Mersenne Twister
typedef std::tr1::uniform_real<double> DIST; // Uniform Distribution
typedef std::tr1::variate_generator<ENG,DIST> GEN; // Variate generator
ENG eng;
DIST dist(0,1);
GEN gen(eng,dist);
for (int i=0;i<size;++i)
{
int index = gen()*150000000;
// use index ....
}
我想問這樣會不會因為精確度不夠造成某些整樹永遠取不到或不夠均勻之類的結果
感謝各位大大了!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.166.66.3
※ 編輯: cckk3333 來自: 118.166.66.3 (05/29 03:42)
→
05/29 04:27, , 1F
05/29 04:27, 1F
→
05/29 05:00, , 2F
05/29 05:00, 2F
→
05/29 12:05, , 3F
05/29 12:05, 3F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章