作者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
1F:→ chhuang:为何 7 最多? 05/11 14:30
2F:→ chhuang:Random 的宣告放到回圈外面去吧... 05/11 14:46
3F:→ cleanwind:因为相加等於7的组合最多 :p 然後将宣告移到for外 05/11 14:48
4F:→ cleanwind:问题便解决了,感激 ^^ 05/11 14:49
5F:→ chhuang:我以为你是说 sum1 跟 sum2 都是 7 最多 XD 05/11 14:50
6F:推 sunflier:「真正」的乱数是要给seed的... 不可由系统时间产生 05/11 23:07