`
阅: 2708 | 回: 5
Vin
发表于2015/9/16 11:19:08 楼主 
头像 等级:初学者
积分:2
财富值:1.0
身份:普通用户
数字一共8个(1-8),在8个数字中取4个数字(可以重复取),取到1111(就是4个1),他的和为4,那他的概率就是1/(8*8*8*8),用vb写出命令,求出所有可能数字和的概率,我学习用,最好能给出分析和标注
我的个性签名
发表于 2015/9/16 14:18:38   
头像 等级:学有小成
积分:12
财富值:11
身份:普通用户
楼主的问题很简单啊,我以前干过类似的。。只是怎么过期了。。
我的个性签名
Vin
发表于 2015/9/16 14:22:23   
头像 等级:初学者
积分:2
财富值:1
身份:普通用户

回复:2楼


怎么让他不过期呀,
我的个性签名
发表于 2015/9/16 14:28:43   
头像 等级:初学者
积分:3
财富值:-8
身份:普通用户
重新开个贴
我的个性签名
发表于 2015/9/16 14:35:50   
头像 等级:学有小成
积分:12
财富值:11
身份:普通用户

回复:3楼

这我可不懂。。。这个问题太简单了,我给你贴一下代码吧:

 

Sub chouqu()
Dim i As Integer, j As Integer, k As Integer, l As Integer
Dim m As Integer
Dim a(1 To 4096) As Integer   '储存所有求和
Dim b(1 To 29) As Integer     '储存所有和出现次数


m = 1
For i = 1 To 8
 For j = 1 To 8
   For k = 1 To 8
    For l = 1 To 8
    a(m) = i + j + k + l         '此循环计算所有的4096个和
    m = m + 1
    Next
   Next
 Next
Next

For i = 1 To 29
 For j = 1 To 4096
 If a(j) = i + 3 Then b(i) = b(i) + 1
 Next
Next                             '此循环计算所有和出现次数

For i = 1 To 29
  Cells(i, 2) = b(i) / 4096                           '计算每个和的概率,并输出到B列
  Cells(i, 1) = "和为" & i + 3 & "的概率"                        '结果释义输出到A列
Next
End Sub

我的个性签名
Vin
发表于 2015/9/16 20:10:31   
头像 等级:初学者
积分:2
财富值:1
身份:普通用户

回复:5楼

想试下实验成果,把你式子改了下,改成11取7(8-18里取7个),结果出现for变量已在使用,一时找不到方法,求助攻

Sub chouqu()
Dim i As Integer, j As Integer, k As Integer, l As Integer
Dim m As Integer
Dim a(1 To 19487171) As Integer
Dim b(1 To 71) As Integer


m = 8
For i = 8 To 18
 For j = 8 To 18
   For k = 8 To 18
    For l = 8 To 18
     For m = 8 To 18
      For n = 8 To 18
       For o = 8 To 18
       a(m) = i + j + k + l + m + n + o
       m = m + 1
      Next
     Next
    Next
   Next
  Next
 Next
For i = 1 To 71
 For j = 1 To 19487171
 If a(j) = i + 55 Then b(i) = b(i) + 1
 Next
Next
For i = 1 To 71
  Cells(i, 2) = b(i) / 19487171
  Cells(i, 1) = "和为" & i + 55 & "的概率"
End Sub


我的个性签名

快速回复

目前不允许游客发表,请 登录 注册 后再发贴。