| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 610 人关注过本帖
标题:关于随机数的问题
只看楼主 加入收藏
竞天问
Rank: 2
等 级:论坛游民
帖 子:12
专家分:10
注 册:2009-9-17
结帖率:100%
收藏
 问题点数:0 回复次数:2 
关于随机数的问题
有没有什么方法让产生的随机数按某一统计规律出现?
比如:产生1~9的整数,1出现的机率是5%,2出现的机率是10%……
????
搜索更多相关主题的帖子: 随机数 
2009-09-25 21:38
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
程序代码:
Option Explicit

Dim 概率(99) As Long
Dim 结果(9) As Long
Dim stopyn As Boolean

Private Sub Command1_Click()

'开始计算
stopyn = False

Dim i As Long
Dim j As Long

Do While Not stopyn
    i = Int(Rnd() * 100)
    结果(概率(i)) = 结果(概率(i)) + 1
    DoEvents
Loop


End Sub

Private Sub Command2_Click()
    '停止计算
    stopyn = True
End Sub

Private Sub Command3_Click()
'显示结果
    Call Timer1_Timer
End Sub

Private Sub Form_Load()

'初始化概率
Dim i As Long

i = 产生概率(0, 0, 5)
i = 产生概率(1, i, 5)
i = 产生概率(2, i, 9)
i = 产生概率(3, i, 11)
i = 产生概率(4, i, 5)
i = 产生概率(5, i, 5)
i = 产生概率(6, i, 35)
i = 产生概率(7, i, 5)
i = 产生概率(8, i, 15)
i = 产生概率(9, i, 5)


End Sub

Private Function 产生概率(数值 As Long, 起始位置 As Long, 概率值 As Long) As Long
'产生概率
Dim i As Long
Dim j As Long
i = 起始位置
For j = 1 To 概率值
    概率(i) = 数值
    i = i + 1
Next j
产生概率 = i
End Function

Private Sub Timer1_Timer()
'显示结果
Dim i As Long
Dim j As Long

For i = 0 To 9
    j = j + 结果(i)
Next i

With Me
    .Cls
    For i = 0 To 9
        Me.Print i, 结果(i), "占总数:",
        If j > 0 Then
            Me.Print (结果(i) / j) * 100,
        End If
        Me.Print
    Next i
    
End With
DoEvents

End Sub
图片附件: 游客没有浏览图片的权限,请 登录注册

授人于鱼,不如授人于渔
早已停用QQ了
2009-09-26 19:47
haigecnpeng
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:261
专家分:510
注 册:2008-10-6
收藏
得分:0 
这是个抽奖作弊的问题,方法有很多!我曾经考虑过。

建一个表,有100条记录,1出现的概率是5%的话,那么100条记录中就有5个记录的值是1,反正几%就有几个数据,数据可以更改,
i = Int(Rnd() * 100)
用i去数据库中查询对应的记录。

都说到了.net年代,VB与C#都是一样的!
但为什么招聘的都是C#呢?
2009-09-26 20:47
快速回复:关于随机数的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022426 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved