PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   七嘴八舌異言堂 (https://www.pcdvd.com.tw/forumdisplay.php?f=12)
-   -   能看出這個簡單程式有什麼問題的人絕對是個高手 (https://www.pcdvd.com.tw/showthread.php?t=816594)

=風= 2008-09-21 08:55 PM

引用:
作者peter liou
它怎麼沒做號碼重覆檢查?

你可以自己run程式看看
:)

olozilyur 2008-09-21 08:55 PM

ball(b1) = ball(num)

感覺邏輯怪怪的....是我多心嗎....

--
萬一 num == b1 時,會

=風= 2008-09-21 09:01 PM

要今天公佈答案
還是明天
讓高手可以挑戰一下 :)

答案很不容易看出來
我一開始是對它的程式感到不可思議
樂透程式碼比我寫的足足少了一半
讓我大開眼界
仔細研究了好久
才發現樂透程式根本就不能這樣寫 :)

crafeway 2008-09-21 09:11 PM

剛才run了一下
好像有時數字會重複

slamcar 2008-09-21 09:15 PM

真看不出在39取6的樂透規則下,它有什麼問題~

因為樂透程式最大的要求應該是不要重複吧!

總不會是因為ball(b1) 不一定等於 b1............

磁吸太厚 2008-09-21 09:17 PM

第一個樂透值範圍是1~39
第二個樂透值範圍是1~38
第三個樂透值範圍是1~37
第四個樂透值範圍是1~36
.......
.......
.......

八豆妖 2008-09-21 09:19 PM

不會 vb, 不知道 Rnd() 是如何產生亂數..
但, 亂數一般簡易做法都會帶時間為參數, 不然每次都會產生一樣的亂數..

亂猜的... 等答案... 呵呵 :laugh:

vxr 2008-09-21 09:24 PM

不會VB..
因為早忘光了..:laugh:..
只會C/C++/Java..
等答案...:unbelief:..

slamcar 2008-09-21 09:25 PM

引用:
作者磁吸太厚
第一個樂透值範圍是1~39
第二個樂透值範圍是1~38
第三個樂透值範圍是1~37
第四個樂透值範圍是1~36
.......
.......
.......

這是ok的。因為假設第一次抽中20
ball(b1) = ball(num)
>>ball(20) = ball(39)--->ball(20)會等於39
so~ball(1~38)裡是1~19、39、21~38,
20被排除了,39取代20,要抽中39的話,只要再抽中一次20就是了。

=風= 2008-09-21 09:27 PM

引用:
作者磁吸太厚
第一個樂透值範圍是1~39
第二個樂透值範圍是1~38
第三個樂透值範圍是1~37
第四個樂透值範圍是1~36
.......
.......
.......

和我的想法一樣 :)
這樣會造成機率不一樣(樂透基本要求就是機率要一樣)

可是剛剛又仔細研究一下
自己對這個答案沒把握
對不對

不知大家對這個答案有沒有意見
畢竟這是我這一次看到這種解法
我的解法不是這樣解 :)


所有的時間均為GMT +8。 現在的時間是05:22 AM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。