[问题] 毕舞抽奖的乱数产生器

楼主: 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