請教 Random 函數
若要很公平產生 1,2,3,4 四個整數隨機值,下列程式是否正確?VAR: A(0);
A=IntPortion(Random(4))+1
或是其它正確做法?
thanks.
這個方式沒有問題,但必須考量非常稀少的一個情況,
那就是當 random(4)=4的時候,
所以只要加一個一行即可:
安迪哥 參考一下
VAR: Abc(0);
Abc=IntPortion(Random(4))+1;
if abc=5 then abc=4;
{:4_684:} jodo 發表於 14-6-1 11:56 static/image/common/back.gif
這個方式沒有問題,但必須考量非常稀少的一個情況,
那就是當 random(4)=4的時候,
所以只要加一個一行即可 ...
=4 是比較簡便的方法 畢竟出現5的機率很低
但如果比較嚴謹考量機率的公平
應該 用這樣
VAR: Abc(0);
Abc=IntPortion(Random(4))+1;
while Abc=5 begin
Abc=IntPortion(Random(4))+1;
end;
安迪哥請享用~
{:4_684:}
jodo 發表於 14-6-1 12:13 static/image/common/back.gif
=4 是比較簡便的方法 畢竟出現5的機率很低
但如果比較嚴謹考量機率的公平
應該 用這樣
所以碰到random(4)等於4,
就不算,重新執行一次就是了。
看起來是好主意,謝謝Jodo大。
小弟已經有快一年想不出好點子來回測了, Andy大的點子源源不絕, 小弟佩服的五體投地
{:5_260:} 好多熱心的人 ! 這是ㄧ個好地方 !
{:4_209:} 謝謝分享....{:4_196:} 謝謝分享....{:5_260:} 謝謝分享~學習了 :D
頁:
[1]