298311657 发表于 2010-5-3 21:50:38

考虑到概率,写了这个,200ms做不到,只能做到大概500ms左右#include <Array.au3>
Dim $Prize =
$begin = TimerInit()
For $i = 0 To 99999
        $r = Random(0, 99, 1)
        Select
                Case $r < 50
                        $Prize += 1
                Case $r < 63
                        $Prize += 1
                Case $r < 68
                        $Prize += 1
                Case $r < 69
                        $Prize += 1
                Case Else
                        $Prize += 1
        EndSelect
Next
_ArrayDisplay($Prize, Round(TimerDiff($begin)) & 'ms')

298311657 发表于 2010-5-3 21:51:50

考虑到概率,写了这个,200ms做不到,只能做到大概500ms左右#include <Array.au3>
Dim $Prize =
$begin = TimerInit()
For $i = 0 To 99999
        $r = Random(0, 99, 1)
        Select
                Case $r < 50
                        $Prize += 1
                Case $r < 63
                        $Prize += 1
                Case $r < 68
                        $Prize += 1
                Case $r < 69
                        $Prize += 1
                Case Else
                        $Prize += 1
        EndSelect
Next
_ArrayDisplay($Prize, Round(TimerDiff($begin)) & 'ms')

3mile 发表于 2010-5-3 22:33:06

回复 12# pusofalse
效率极高,不过貌似不准确啊?见图:

rolaka 发表于 2010-5-4 17:22:57

貌似除了p版的 随机部分好像我还是算短的?....

3mile 发表于 2010-5-4 19:41:25

报告楼主,如果比例可以上下浮动,那么比例还有什么用呢?
程序不能大概,是吧。

pusofalse 发表于 2010-5-4 20:11:59

此题貌似有些争议。如果模拟奖池,输出结果非要一丝不差的话,那么这是个乱序排列的问题。
1个1维数组,100个元素,前50为餐巾纸,其次12为糖果,等等。如此一个数组,打乱顺序后就可以了,输出结果保证绝对正确。

rolaka 发表于 2010-5-4 21:37:06

本帖最后由 rolaka 于 2010-5-4 21:38 编辑

3mile写的据我测试结果也是有偏差的 10w次里 谢谢回顾平均是46.xx% 而且猫粮的统计结果只有0.4%...

如果硬要绝对正确 那是不可能的 p版上面说的做法才是绝对保证结果的唯一办法

模拟抽奖箱 实际的比例浮动是很正常的

3mile 发表于 2010-5-4 23:33:29

sorry,我没有说我写的才是正确的。
只是觉得前题条件既然已经定了百分比,当然要按照题目来做啊。

superflq 发表于 2010-5-5 11:51:21

进来学习学习

auto 发表于 2010-5-5 12:13:42

3mile写的据我测试结果也是有偏差的 10w次里 谢谢回顾平均是46.xx% 而且猫粮的统计结果只有0.4%...

如果 ...
rolaka 发表于 2010-5-4 21:37 http://www.autoitx.com/images/common/back.gif

其实不用再打乱,因为已经是随机,看概率的分布就知道了
只要取的数越多就越接近

rolaka 发表于 2010-5-5 12:20:44

本帖最后由 rolaka 于 2010-5-5 12:23 编辑

sorry,我没有说我写的才是正确的。
只是觉得前题条件既然已经定了百分比,当然要按照题目来做啊。
3mile 发表于 2010-5-4 23:33 http://www.autoitx.com/images/common/back.gif


   。。。前提只是规定了奖池里的抽签比例 而且结果是不可控的

rolaka 发表于 2010-5-5 12:27:21

其实不用再打乱,因为已经是随机,看概率的分布就知道了
只要取的数越多就越接近
auto 发表于 2010-5-5 12:13 http://www.autoitx.com/images/common/back.gif

对。。。。没错

3mile 发表于 2010-5-5 14:09:12

回复 26# rolaka
呵呵,原来是我的理解有问题。楼主要的原来是10W次的抽奖分布情况。
误理解为10W的数组按比例随机存放。
莫怪,莫怪

rolaka 发表于 2010-5-5 15:31:20

回复rolaka
呵呵,原来是我的理解有问题。楼主要的原来是10W次的抽奖分布情况。
误理解为10W的数组按比 ...
3mile 发表于 2010-5-5 14:09 http://www.autoitx.com/images/common/back.gif


    。。。估计是我写的不清楚。。。好多人误解阿
页: 1 [2]
查看完整版本: 关于依照表取得随机值的问题