Re: [問題] 寫一個亂數產生程式
※ 引述《eagle0401 (心機)》之銘言:
: 有件事 我一直好奇了非常的久
: 就是Random要怎麼寫
: 在上課的時候 老師告訴我們
: java內建的Random不夠亂
: 假如未來有需要用到亂數時
: 最好自己重新寫一個比較安全
: 那究竟要怎麼樣才有辦法寫一個亂數產生
: 我自己有想過 抓取CPU的時間取尾端的數字下去跑
: 但是這樣應該也沒辦法用出一個比java內建的Random亂的Random函數
: 我記得我們老師是說要用布林函數來產生亂數
: 布林函數不是只有ture or false?? 我不是很懂要怎麼用...
: 爬版之後也只有看到 使用上的問題
: 有一個可能是寫亂數的標題 也被刪掉了
: 有人可以教教我嗎?
亂數 其實我也不是很懂,
但是大體上來講亂數要符合一個條件,
那就是要夠亂,
而亂不亂的基準點我比較常聽到的有 "不重覆的數列長度"
(我不太確定是不是這個名詞)
舉例來說,第一個數列依序產生的亂數序列為
___________
1 2 3 2 1 3 1 2 3 2 1 3
而第二個是
_____
2 1 3 2 1 3 2 1 3 2 1 3
我們就不會覺得第二個會比第一個亂。
那其他還有各種情況或需求
例如說亂數的分佈率是平均分佈還是常態的那種鐘型曲線分佈?...等等
理論的話,推文裡面有人提到有不少篇論文會討論亂數產生的方法,
想要看各種亂數變體或者是優秀的亂數產生法就是去找論文來研究思索。
實作的話,基本上 JDK API 的 source 都在哪邊,
我想也沒有比那個更有實作參考價值的教材了吧,
可以先去參考一下。
--
應該不會有哪個老師的作業是亂數產生器吧
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.160.33.177
推
12/27 21:49, , 1F
12/27 21:49, 1F
推
01/01 19:21, , 2F
01/01 19:21, 2F
討論串 (同標題文章)