用JavaScript寫了一個Scrambler - 魔術方塊

Oscar avatar
By Oscar
at 2009-03-04T14:22

Table of Contents

※ 引述《ten7728 (今古庸龍)》之銘言:
: x=Math.round(Math.random()*6)

Math.random() 產生出來的是範圍落在 [0,1) 之間的浮點亂數,
因此如果你將它乘以 6 再用 round(四捨五入)的話,
其實機率分佈會是 (0,1,2,3,4,5,6) 分別以 (1,2,2,2,2,2,1) 的比例出現,
換句話說 6 出現的機率只有 1~5 的一半,我相信這不是你要的。

因此你應該把這行改成:

x=Math.ceil(Math.random()*6);

這麼一來就會是均勻的 1~6 之亂數。

--
錢,真的是萬能的。

——如果你不這麼覺得的話,那只是因為你的錢還不夠多而已。

--

All Comments

Andy avatar
By Andy
at 2009-03-06T11:19
或者不適用四捨五入,而是無條件捨去取整數?
Bennie avatar
By Bennie
at 2009-03-09T12:07
當然也可以,就看最後需要的亂數範圍是在哪裡
Genevieve avatar
By Genevieve
at 2009-03-13T07:26
只不過那樣做的結果會使得 0 出現的機率在理論上變高
Charlie avatar
By Charlie
at 2009-03-14T03:26
雖然變高的幅度微乎其微(即浮點數的最高精度)
Bennie avatar
By Bennie
at 2009-03-16T01:39
參考我的 #19Ci1z7x XD 到底有幾種語言的SCer
Rebecca avatar
By Rebecca
at 2009-03-17T23:16
推星君

用JavaScript寫了一個Scrambler

Caitlin avatar
By Caitlin
at 2009-03-04T10:36
最近在學習JavaScript,今天利用JavaScript寫了一個Scrambler的簡單簡單簡單程式, ,隨機出現亂數原始碼如下: andlt;script language=and#34;javascriptand#34;andgt; function one() { x=Math.round(Mat ...

Super SC?

Skylar Davis avatar
By Skylar Davis
at 2009-03-04T02:31
一直有個疑問 Super SC的定義是啥阿atat 黃上藍前 U2 F R2 B2 F2 L Rand#39; F2 Land#39; Dand#39; Uand#39; Rand#39; F U2 L2 D2 U2 F Land#39; D2 Uand#39; L F2 L2 U ...

新竹市第二屆魔術方塊大賽 報名簡章及比賽辦法

James avatar
By James
at 2009-03-04T01:31
一、比賽時間: 2009年4月12日{星期日} 二、比賽地點: 國立新竹高級中學(新竹市學府路36號) 輔導室二樓會議室 三、主辦單位: 新竹高中益智玩具社 四、協辦單位: 義民中學魔術方塊社 五、比賽項目: 3*3*3 (first round andamp; 16強PK) 3*3*3 OH 2*2 ...

V5 改軸用螺絲

Joseph avatar
By Joseph
at 2009-03-04T00:39
是說好像不必硬把螺絲剪斷... 我這兩天也改了 要剪的時候不是那麼容易剪斷的.....[螺絲欸= =] 於是夾住螺絲頭以後直接用槓桿原理往下壓 然後整根螺絲就和軸分離了XD 就是直接把螺絲凹出來就好了 而且我發現螺絲有螺紋轉了卻不會動是怎樣= = 因為剛看到B哥的螺絲文就順 ...

im956vu86

Yuri avatar
By Yuri
at 2009-03-03T23:11
有時候有些是的真相或許很重要 但有時候真相不一定重要 更或許一堆巧合讓你相信的事實可能反而不是事實? 今天如果有人證實了他們兩人是同一人 然後呢?...很重要嗎...誰得到了什麼...誰失去了什麼? 如果他們兩人真的是不同人 而且還一起出現在麥當勞... 那是不是又要說是找人假扮的? 那如果真 ...