Visual_Basic 板


LINE

※ 引述《purplishfish (紫鱼)》之铭言: : 各位版友大家好 : 最近再写一个抽奖程式 : 方法是每个序号对到一个乱数,最後取乱数最大值的该序号做为得奖人 : 但总觉得得奖人常常重复,不知道是不是乱数的问题? : 目前乱数是使用(前面都有先呼叫Randomize) : Rnd() : 有试过 Rnd(Time) 这样没有任何用处。 VBA的rnd(k)多年来都一样: k > 0 传回下一个随机乱数。 所以rad(1), rnd(8), rad(rnd())都是一样的。 而time (不是应该timer吗?不过反正你没看到错误,就当是time好了) 除了午夜以外,一定传回大於0的数字,所以也跟以上一样。 k = 0 重覆传回相同的乱数。 k < 0 会以这个k为乱数种子,但是每次设种子就等於每次呼叫randomize 基本上没有人用。 省略k 跟 k > 0 一样。 现在微软的范例程式里面也都是写成rnd(),这就是他们的建议用法 至於什麽rnd(0), rnd(-n)之类死人骨头根本就不要碰。 : 不知道还有没有其他可以更乱的方法? 没有看到你的程式,无法确定你到底是重覆到怎样。但是除非规则规定,很少 听说这样一人产生一个乱数再选最大的作法。还有也不知道你母体有多少。如 果你一次只针对10个这种数量的得奖者抽选,那用什麽方法都很容易重覆。不 重覆有不重覆的方法,但是抽选过程要重新设计。 我会认为是规则的问题。如果你认为想要换random generator来解决,可以改 用以下网页最底下的程式,他利用AES来产生循环长度无限长的随机乱数。 https://bytes.com/topic/access/insights/ 964786-vba-rnd-function-bad-what-use-instead or https://goo.gl/cgWHiC : 另一个想请教的问题是有没有办法降低excel的运跑速度? 直接上vb.net,简单用途转过去很快,也可以控制excel (不过没什麽效率,用ODBC较实在)。 -- 从前有个马铃薯王国 有个高贵伟大的国王 有的人尊敬他 有的人畏惧他 但有个人敢看不起他不只是一条龙 嘿呵 快出动 去征服 去摆平 嘿呵 快出征 去征服那条龙 嘿呵 快出动(宰了它!轰了它!)嘿呵 快出征 去征服那条龙 :■ Potatoes and Dragons (C)Alphanim France 2004-05 :. --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 218.161.46.90
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Visual_Basic/M.1517755768.A.036.html
1F:推 purplishfish: 感谢回覆!Time回传是时分秒,程式没显示错误 02/04 23:32
2F:→ purplishfish: 被抽奖人有100多人 02/04 23:33
3F:推 purplishfish: 方法是参考这篇 02/04 23:35
4F:→ purplishfish: http://isvincent.pixnet.net/blog/post/29124644 02/04 23:35
5F:→ purplishfish: 因为偶尔会需要一次抽五个 02/04 23:36
6F:→ MOONRAKER: 一次抽五个可以考虑洗牌法 02/05 05:39
7F:→ MOONRAKER: 假设 k 个人,开一个1 to k的阵列,依序填入值1到k 02/05 05:40
8F:→ MOONRAKER: 接着每次产生两个1..j的乱数p, q,互换p, q位置的元素 02/05 05:41
9F:→ MOONRAKER: 这样洗牌若干次,然後从前面或後面取五个为得奖 02/05 05:42
10F:→ MOONRAKER: 这样看起来time传回跟以前一样是字串 不会错误可能是 02/05 05:49
11F:→ MOONRAKER: 自动转换到第一个 : 以前的数字 这样还是恒正的 02/05 05:49
12F:推 purplishfish: 谢谢,会试试看! 02/05 16:45
13F:推 ferretwind: 如果要看起来随机,就把每个人得过奖的次数记录起来 02/07 12:44
14F:→ ferretwind: 然後让那个人的中奖机率降低(1/(得奖次数+1)之类的 02/07 12:45
15F:→ ferretwind: 让程式变得不那麽随机 是变不随机而不是变更随机哦 XD 02/07 12:45
16F:→ ferretwind: 人类的"觉得随机"其实很不随机,所以你要的是减少随机 02/07 12:48
17F:→ ferretwind: 我好像应该推在原po那篇 XD 02/07 12:49
18F:推 purplishfish: 可是抽到过得不会再抽耶 02/09 08:32
19F:→ MOONRAKER: 如果不要让他再抽就是排除法啦 直接让他机率0或跳过 02/09 15:23
20F:→ MOONRAKER: 去年也有写个抽奖 那时是先摇一次决定有没有中奖 再摇 02/09 15:25
21F:→ MOONRAKER: 一次看他中什麽奖 02/09 15:25







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP