在 JavaScript 裡要產生一個亂數,首推的就是 Math.random() 這函數了。而這個函數值所分佈的範圍是 0 ~ 0.9999... 之間,可以用一個數學式來表示 0≦ X < 1
但我們一般來說,並不大有機會要你去找「大於等於 0,小於 1」的隨機值,反而常會說,請在 1 ~ 3 之間隨機找出一個整數。遇到這情況時怎麼辦呢?可以用
Math.random()*3
這樣,你的亂數值的範圍就變成
0≦ X < 3
但因為我們要得的是從 1 開始算,而不是 0 ,所以就會用 Math.random()*3 + 1
於是就得到
1≦ X < 4
剩下最後一個關鍵,就是使用 Math.floor() 函數。表示是取不大於(等於或小於) X 的最大整數。也就是
Math.floor( Math.random()*3 + 1)
如果日後想要取得 1 到 N 的隨機變數時,就可以用下面的程式:
Math.floor( Math.random()*N + 1)
參考:
01:Make JavaScript Math.random() useful
02:亂數 javascript Math.random()
03:高斯符號
04:[代數] 請問高斯符號與floor是否一樣
沒有留言:
張貼留言