![]() |
||
*停權中*
加入日期: Dec 2005
文章: 21
|
引用:
以交換的方式,先把牌洗亂了,亂數取出1∼倒數第2張,跟最後1張交換,再亂數取出1∼倒數第3張跟最後第2張交換...以此類推,每張牌都換過一次,牌也洗的夠亂了,然後要幾張牌,就發幾張,也沒有什麼重複或是比較容易出現的問題了 |
||||||||
![]() |
![]() |
*停權中*
加入日期: Aug 2005
文章: 102
|
大樂透是49 選 6 吧....
![]() |
||
![]() |
![]() |
Advance Member
![]() ![]() 加入日期: Mar 2003
文章: 337
|
完全看不出來程式有什麼問題
不可能有重覆數字 別說 For i = 0 To 5 即使 For i = 0 To 38 也不會重複 雖然我vb很爛,但這樣子的結果應該不會錯 |
![]() |
![]() |
New Member
加入日期: Feb 2007
文章: 3
|
離題一下...如果用PHP這樣寫,機率是否會跟實際的樂透理論一樣?
$ball=array(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36); unset($ball[0]); for($c=0;$c<=5;$c++){ $keys=array_rand($ball,1); unset($ball[$keys]); print $keys."\n"; }
__________________
- |
![]() |
![]() |
*停權中*
加入日期: Feb 2005
文章: 164
|
vb沒學過,不過這個程式....
第1次如果不是39,下一次39就會消失,對於39而言下5次選中的機率等於0, 第2次如果不是38,下一次38就會消失,對於38而言下4次選中的機率等於0, 第3次如果不是37,下一次37就會消失,對於37而言下3次選中的機率等於0, 第4次如果不是36,下一次36就會消失,對於36而言下2次選中的機率等於0, 第5次如果不是35,下一次35就會消失,對於35而言下1次選中的機率等於0, 就選中的機率而言39,38,37,36,35這幾個數跟其他數是不一樣的, 所以.....此程式是不公平的. 另外這種程式是會有重復數字的. |
![]() |
![]() |
New Member
加入日期: Mar 2007
文章: 3
|
引用:
真神人出現了嗎 ![]()
__________________
有人知道我大頭照的女生是誰嗎? 煩請PM ![]() |
|
![]() |
![]() |
New Member
加入日期: Dec 2003
文章: 3
|
引用:
你應該沒看清楚喔 迴圈裡有兩行是 ball(b1) = ball(num) num = num - 1 這兩行會解決你提出的問題 |
|
![]() |
![]() |
Major Member
![]() 加入日期: Dec 2002 您的住址: 謎
文章: 265
|
引用:
洗完牌後,會亂,但是不會亂得很均勻。 比如說,rnd_plus(49,49) 有可能產生的洗牌結果有 49! 種。 如果是樂透的話,我們會期望每一種發生的機率都是 1/49!。 但是洗牌的結果顯然不會 1/49!... 比如說,我們要依照這個演算法,洗完牌後,順序剛好完全倒置的機率? 因為程式總共取了 2*49 次的亂數,每個亂數有 1-49 種可能。 所以樣本空間是 49^98。 其中某 X 種樣本,洗完後會完全倒置,則剛好導置的機率是.. X / 49^98。 但不管 X 是多少, X / 49^98 都不會是 1/49! 同樣的,我們想算洗完牌後,1,2 剛好交換,其餘都不動的機率? 那會是 Y / 49^98,也不會是 1/49!。 -- 如果對於上面的描述很難體會的話,跑 rnd_plus(3,3) 幾萬次,統計一下結果看看... 此文章於 2008-09-22 12:09 AM 被 8:5 編輯. |
|
![]() |
![]() |
Regular Member
![]() ![]() 加入日期: Jun 2001
文章: 68
|
引用:
請參考 selection sort 的演算法 |
|
![]() |
![]() |
*停權中*
加入日期: Jan 2008
文章: 4
|
引用:
我也覺的自己寫, 也很難"夠"亂, 如果可以寫出一定"亂的". 個人覺的可以賣錢 但要有數學式佐證.. 真想知道答案是什麼... 不過如果我會 vb 的話, 我大楖會跑個 100 萬次 看是不是很平均落在 1 ~ 39 吧, 以及第一次中獎的數字為何, 依序下去...等等 |
|
![]() |
![]() |