[問題] 亂數不是亂數?

看板C_Sharp (C#)作者 (骨傲風清(掛網))時間18年前 (2007/05/11 14:10), 編輯推噓1(105)
留言6則, 3人參與, 最新討論串1/3 (看更多)
這是我寫的程式 :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

05/11 14:30, , 1F
為何 7 最多?
05/11 14:30, 1F

05/11 14:46, , 2F
Random 的宣告放到迴圈外面去吧...
05/11 14:46, 2F

05/11 14:48, , 3F
因為相加等於7的組合最多 :p 然後將宣告移到for外
05/11 14:48, 3F

05/11 14:49, , 4F
問題便解決了,感激 ^^
05/11 14:49, 4F

05/11 14:50, , 5F
我以為你是說 sum1 跟 sum2 都是 7 最多 XD
05/11 14:50, 5F

05/11 23:07, , 6F
「真正」的亂數是要給seed的... 不可由系統時間產生
05/11 23:07, 6F
文章代碼(AID): #16H0ZQyD (C_Sharp)
討論串 (同標題文章)
文章代碼(AID): #16H0ZQyD (C_Sharp)