作者cleanwind (骨傲風清(掛網))
看板C_Sharp
標題[問題] 亂數不是亂數?
時間Fri May 11 14:10:33 2007
這是我寫的程式 :p
for(int i=1;i<=36000;i++)
{
Random RD1 = new Random();
sum1 = RD1.Next(1, 7);
sum2 = RD1.Next(1, 7);
sum=sum1+sum2;
add(sum);
}
照理來說,36000次應該會是7最多,
但是執行完結果卻發現不是如此。
我上了MSDN查過資料後發現,
他似乎是用運算出來的。
不知道有沒有辦法使得結果更接近亂數呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.21.235.247
→ chhuang:為何 7 最多? 05/11 14:30
→ chhuang:Random 的宣告放到迴圈外面去吧... 05/11 14:46
→ cleanwind:因為相加等於7的組合最多 :p 然後將宣告移到for外 05/11 14:48
→ cleanwind:問題便解決了,感激 ^^ 05/11 14:49
→ chhuang:我以為你是說 sum1 跟 sum2 都是 7 最多 XD 05/11 14:50
推 sunflier:「真正」的亂數是要給seed的... 不可由系統時間產生 05/11 23:07