- 最后登录
- 2013-11-11
- 在线时间
- 873 小时
- 阅读权限
- 40
- 注册时间
- 2008-9-15
- 积分
- 1194
- 帖子
- 924
- 精华
- 6
- UID
- 44804
- 性别
- 保密
- 积分
- 1194
- 帖子
- 924
- 精华
- 6
- UID
- 44804
- 性别
- 保密
|
对于21楼的质疑,我仔细考虑一下,觉得没理由不是独立事件,得到的概率应该等于1/16。
问题出在哪里?又重新运行多次,得到的概率分别是7.5%、11.2%。波动还挺大的,按理说1千万次的模拟,概率波动不应这么大?真的应该像Noski所说的随机序列生成器出了问题。
每个人随机选号码箱的号码组合,我设计了一个子程序,每运行一下子程序,就随机生成一个号码组合。
这个子程序是,先初始化随机序列生成器(以免每次生成相同的随机数序列),再运用随机函数,随机生成号码组合。
按理说这个子程序设计应该没问题,但后来证实恰恰是这个子程序出了问题。问题在 初始化随机序列生成器。
因为每个人随机设定他选择的号码组合,都要调用一次那个子程序,而每调用一下子程序,就初始化一次随机序列生成器。
最后造成每个随机数序列都不是完整的,每每被中断。
--------------------------------------------------------------------------
最后删除子程序中的初始化随机序列生成器的语句,将初始化随机序列生成器语句直接放在主程序调用随机函数之前。
重新运行程序,
1百万次,成功62640次
1千万次,成功624466次。概率非常接近 1/16=0.625 |
|