[問題] 畢舞抽獎的亂數產生器

作者: sidangerous (sidangerous)   2014-06-09 01:54:40
先說我覺得今年畢舞辦的超好的
有吃 有跳舞 有拍照 有表演 有宇宙人跟Crispy
動線規畫流程什麼的都超棒!
但不知道有沒有人跟我一樣覺得他抽獎的亂數產生器怪怪的呢?
當然我完全沒有證據啦 猜錯了話請糾正我這樣
畢竟也有非零的機率可能出現這樣的情形XDD
出現的數字常常是141X 12XX 20XX之類的
依照小弟寫程式常常寫出bug的經驗
不知道他寫法是不是這樣
假設總人數: 2489(隨便猜的)
產生規則如下:
位數: 千 百 十 個
亂數: (0~2) (0~4) (0~8) (0~9)
也就是他是digit by digit的亂數產生?
這樣做了話雖然可以保證不會超出參與人數
但是像 18XX 這樣的號碼就永遠不會被產生出來?
無論如何
還是要謝謝這次畢舞主辦的辛勞!!!
今年真的辦的不錯!!!
作者: FTICR (FT-ICR)   2014-06-09 02:03:00
有這麼無言的寫法嗎......?不是應該是產生0000~9999之間的亂數 if >=2489 就重取一個?或是直接 RAND_MAX 之類的?
作者: gj942l41l4 (米食主義者)   2014-06-09 02:11:00
有18xx吧我忘了 不過 14xx真的多到誇張
作者: paullai (保羅)   2014-06-09 02:11:00
如果全部有2489人,就寫:srand(time(NULL));x =(rand() % 2489) +1;printf("The Random Number is %d .\n", x);就好啦... 為什麼要去做什麼千百十個的設定,反而比較麻煩
作者: Murasaki0110 (麥當勞歡樂送)   2014-06-09 02:13:00
rand+mod就好啦
作者: qabc1234 (Sun)   2014-06-09 02:14:00
如果我沒記錯 百位數應該是沒有出現過 5 6 7 8 9
作者: yilovetaiwan (咱的國家叫臺灣)   2014-06-09 02:16:00
有同感,幫高調
作者: paullai (保羅)   2014-06-09 02:16:00
確實沒有出現過XD 但就算真的是這樣,這個時候說好像也沒辦法有什麼補償吧XD (頂多團隊出來道歉~)
作者: wlnc5566 (wlnc5566)   2014-06-09 02:19:00
歡迎加入資工系
作者: fredchan1992 (Mr.2000)   2014-06-09 02:27:00
14xx真的超多
作者: chirpspeep (吱吱)   2014-06-09 02:38:00
印象中百位數真的沒出現過五以上
作者: IAmAwesome (IAmAwesome)   2014-06-09 02:38:00
有無舞伴產生器QQ
作者: yangmao (羊毛)   2014-06-09 02:39:00
直接mod不好,人數多的話機率會有差異
作者: kisball (ball)   2014-06-09 02:45:00
真的!!!感覺亂數產生器怪怪的+1...
作者: tiefblau (tiefblau)   2014-06-09 02:46:00
程式那樣寫也是蠻奇葩的= =
作者: woieyufan (微淋管)   2014-06-09 02:51:00
程式那個 寫成重抽比較公平 餘數好像有邊界
作者: aniesway (jownshown)   2014-06-09 03:16:00
其實0314出現過兩次不過主持人沒發現 只發現1413重複
作者: scottiting (狗)   2014-06-09 03:47:00
不至於吧會寫成這樣也太冏XDDDD
作者: elainecriss (ancic)   2014-06-09 03:48:00
很明顯的非常不亂的亂數產生器
作者: strike5566 (好球56)   2014-06-09 03:50:00
bit-wise也太酷
作者: xkamome (大嘴鷗)   2014-06-09 03:59:00
1410 1411 1412 1413 1435 0413 0314
作者: leslie0908 (小題大做)   2014-06-09 08:19:00
亂碼產生器真的有問體!
作者: IMISSYOI (佑)   2014-06-09 08:27:00
開源社又要出現了嗎(誤)
作者: gn00665327   2014-06-09 08:53:00
只有我覺得畢舞沒資格叫畢舞嗎...
作者: manlike ( )   2014-06-09 09:20:00
rand() * 2489 + 1 一行就好了好嗎? = =
作者: KWBilly (Billy)   2014-06-09 09:24:00
%
作者: mister12 (zzzz)   2014-06-09 09:39:00
%
作者: plant (ヽ(゚∀。)ノ 呀比)   2014-06-09 09:56:00
一位數一位數去產生亂數 應該不會有人這麼有才這樣寫吧
作者: nonodamn (勒勒勒)   2014-06-09 10:35:00
1410到1415都中了喔
作者: yilovetaiwan (咱的國家叫臺灣)   2014-06-09 10:43:00
其實想想也沒什麼不公平的,走進來的時候大家都是隨機取票,應該算是抽過一遍了
作者: z2114422 (Hunting)   2014-06-09 10:47:00
樓上的想法...?樓上是說拿到15XX的活該沒機會抽獎嗎XDD 還真公平XD
作者: shanyanyu (阿不拉的浣熊)   2014-06-09 10:55:00
說不定寫程式的真的這麼聰明......Orz
作者: gj942l41l4 (米食主義者)   2014-06-09 11:04:00
沒內定的話是沒什麼不公平的沒錯 就是無趣了點而已
作者: penghurong (阿融)   2014-06-09 11:06:00
我跟同學有統計一下,如果沒記錯的話,500-1000及1500-2000是沒出現過的
作者: darren8221 (鯰魚)   2014-06-09 11:23:00
為什麼不先取好數字再做動畫 囧a
作者: kevin2002013 (路人甲)   2014-06-09 11:31:00
這樣寫還更麻煩吧 XD
作者: ann7773631 (季世桿)   2014-06-09 11:32:00
百位跟十位數都沒出現6789
作者: RSChiang (鍵盤蒟蒻的RS)   2014-06-09 11:59:00
來來來來試試看 http://i.imgur.com/sOnlQus.png
作者: sandy30716 (達)   2014-06-09 12:03:00
覺得抽獎程式怪怪的+1,百位數沒超過5過@@
作者: RSChiang (鍵盤蒟蒻的RS)   2014-06-09 12:04:00
(續) http://i.imgur.com/uoDTj5Z.png第一種是原po提到的 第二種是標準的
作者: yilovetaiwan (咱的國家叫臺灣)   2014-06-09 12:20:00
z大你也有機會拿到1413阿就你進場的時候運氣不好
作者: danielu0601 (黒猫.俺の嫁)   2014-06-09 12:22:00
樓上上的ljust要改成rjust
作者: chenghsu (旭包)   2014-06-09 12:23:00
7 8 9這三個數字幾乎沒出現阿~~
作者: ts00834811 (定定)   2014-06-09 13:24:00
其實y大是對的 不過很明顯大家不會接受XD老師說過要更亂更隨機可以多取幾次mod[rand%2489*rand%2489]%2489
作者: bztfir (恩恩呵呵)   2014-06-09 14:43:00
樓上這樣的分布應該會不太均等 某些數字出現的機率會較高@@
作者: danielu0601 (黒猫.俺の嫁)   2014-06-09 14:45:00
樓樓上的算法會讓數字越小機率越大
作者: PeiPianist (珮珮)   2014-06-09 14:53:00
竟然還會有這麼神奇的事...
作者: FayeOwO (不是飛,是廢)   2014-06-09 15:42:00
沒到場,不過如果進場時的號碼是隨意抽取的話的確是隨機當然前提是單位沒有把中獎號碼洩漏出去啦
作者: MIKEmike07 (加油!)   2014-06-09 16:48:00
RSC大怎麼不想讀資工呢><!
作者: dittoh (ditto)   2014-06-09 17:21:00
發的號碼牌應該是有順序的,至少我跟舞伴是連號的。
作者: RSChiang (鍵盤蒟蒻的RS)   2014-06-09 18:09:00
@danielu0601 對不起晃神了XD@MIKE大這是件很長的故事(?
作者: revorea (追尋安身之地)   2014-06-09 22:00:00
怪不得會常出BUG...= =
作者: peter1212 (十日青)   2014-06-09 22:45:00
感覺入場號碼牌跟時間有關係,所以知道遊戲規則是這樣進場時間要拿捏好唷~揪咪 ^。<~
作者: mrdoing (doing)   2014-06-09 23:57:00
我是畢舞總召杜瀛,很抱歉因程式設計不良,導致抽獎活動驚喜感不如預期,在此向所有參與同學致上歉意。另外也向大家說明:抽獎卷為入場隨機發放,現場產生獎號,不會事前洩漏。我們會深刻檢討此次疏失,傳承下屆改善。最後,再次為團隊思慮不周,向所有參加同學致上歉意。
作者: lowpitch (chia)   2014-06-10 00:12:00
說真的 14XX 的 應該快要被抽完了吧 = =
作者: u8572535 (郭淨)   2014-06-10 01:05:00
所以是真的寫錯了@@?
作者: jerrysun (唐唐)   2014-06-10 02:21:00
.....
作者: tiefblau (tiefblau)   2014-06-10 02:57:00
還真的寫錯喔 扯翻= =+
作者: rock10186 (九局下半)   2014-06-10 09:55:00
花了錢結果一開始就發現沒啥好期待的...
作者: yrarbilUTN (圖總大台)   2014-06-10 10:24:00
總召阿總召道歉repo比較有誠意吧
作者: tcn1john (momo)   2014-06-10 21:55:00
[rand() + rand() + rand()...] % 2489 多加幾次阿再把預設爛爛的 rand 換成 MT twister

Links booklink

Contact Us: admin [ a t ] ucptt.com