Re: [問題] random設定範圍、最小(大)值
※ 引述《s25g5d4 (死城盜賊)》之銘言:
: js裡的Math.random()返回的是介於0~1之間的亂數
: 沒有原生的範圍設定與最小(大)值
: 我的做法是直接把random產生的數乘上範圍數量
: 然後無條件捨去 在加上最小值
: 這樣寫可以嗎?
: Math.floor( Math.random() * (max - min + 1) ) + min;
: 這樣在結果上會不會有分配不均的可能性?
: 就是某個數被選中的機率會偏高
這個寫法很標準 我測是很平均
兩筆(隨機產生數字1或2)時: http://www.jsfiddle.net/Lr2W9/
sampleNum: 4, sampleSize: 1000000
chanceOneCount: 500312
chanceTwoCount: 499688
多筆(隨機產生數字1~7)時: http://www.jsfiddle.net/N345P/
sampleNum: 3, sampleSize: 100000
No1: 14250
No2: 14326
No3: 14366
No4: 14036
No5: 14252
No6: 14411
No7: 14359
記得看過一篇文章說floor比較有效率? 或是(小數點)進位比較準確?
比起類似的函式如ceil
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.122.76.198
※ 編輯: tomin 來自: 140.122.76.198 (02/08 17:51)
推
02/08 20:39, , 1F
02/08 20:39, 1F
→
02/08 20:39, , 2F
02/08 20:39, 2F
→
02/08 20:40, , 3F
02/08 20:40, 3F
→
02/08 20:40, , 4F
02/08 20:40, 4F
推
02/08 22:54, , 5F
02/08 22:54, 5F
→
02/08 22:55, , 6F
02/08 22:55, 6F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章
33
68