Foxtable(狐表)用户栏目专家坐堂 → 这样产生的随机数,科学吗?


  共有2378人关注过本帖树形打印复制链接

主题:这样产生的随机数,科学吗?

帅哥哟,离线,有人找我吗?
xxfoxtable
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1743 积分:16416 威望:0 精华:0 注册:2017/6/1 23:12:00
这样产生的随机数,科学吗?  发帖心情 Post By:2018/2/27 10:35:00 [只看该作者]

Dim Val3 As Integer = Rand.Next(200,300)实际应用中,有的数字产生的几率特别大

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/27 10:55:00 [只看该作者]

肯定靠谱的,你可以这样测试

 

For i As Integer = 1 To 50
    Dim Val3 As Integer = Rand.Next(200,300)
    output.show(val3)
Next


 回到顶部
帅哥哟,离线,有人找我吗?
xxfoxtable
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1743 积分:16416 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2018/2/27 11:01:00 [只看该作者]

    Dim drs =Tables("公司档案").DataTable.SQLSelect("地区='"& cb4.text & "' and 属性='" & cb2.text &"' And 是否停用<>'是'")
    If drs.count>0
        Dim Val3 As Integer = Rand.Next(0,drs.count-1)
        Dim text3 As WinForm.TextBox = e.Form.Controls("TextBox3")
        text3.text=drs(val3)("公司名称")
我是这样写的,客户反应,有一个公司被抽中了六次

Dim Val3 As Integer = Rand.Next(0,drs.count-1)
Dim Val3 As Integer = Rand.Next(1,drs.count)
是不是应该第二个写的对?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/27 11:24:00 [只看该作者]

1、要这样写 Dim Val3 As Integer = Rand.Next(0,drs.count) '0到drs.count-1都有可能被抽到

 

2、抽取是随机的,比如有10个人,抽取5次,并不能保证5次都是不同的人的。

 

3、如果你希望抽过的不重复抽取,你应该把抽取的记录起来,如果再抽到,就继续抽

 

http://www.foxtable.com/webhelp/scr/2963.htm

 


 回到顶部