【急】一道vb题目,求大神帮忙!
程序模拟体育彩票中从随机选出7个数(每个数位于1-36之间)要求1.编写一个Function用于求阶乘;2.使用一个命令按钮,调用以上Function并求获奖的概率的倒数...
程序模拟体育彩票中从随机选出7个数(每个数位于1-36之间)
要求1 .编写一个Function用于求阶乘;
2.使用一个命令按钮,调用以上Function并求获奖的概率的倒数:36!/7!/(36-7)!。
Function Jiecheng()
Dim i As Integer, j As Integer, sum As Integer
sum = 0
j = 1
For i = 1 To n
j = j * i
Next i
Jiecheng = sum
End Function
Private Sub Command2_Click()
n1 = n = 36
Call Jiecheng
sum = s1
n2 = n = 7
Call Jiecheng
sum = s2
n3 = n = (36 - 7)
Call Jiecheng
sum = s3
m = s1 / s2/s3
Label2.Caption = m
End Sub
为什么总是说我“溢出”了呢?是哪里出现问题了?真心求教!急急急! 展开
要求1 .编写一个Function用于求阶乘;
2.使用一个命令按钮,调用以上Function并求获奖的概率的倒数:36!/7!/(36-7)!。
Function Jiecheng()
Dim i As Integer, j As Integer, sum As Integer
sum = 0
j = 1
For i = 1 To n
j = j * i
Next i
Jiecheng = sum
End Function
Private Sub Command2_Click()
n1 = n = 36
Call Jiecheng
sum = s1
n2 = n = 7
Call Jiecheng
sum = s2
n3 = n = (36 - 7)
Call Jiecheng
sum = s3
m = s1 / s2/s3
Label2.Caption = m
End Sub
为什么总是说我“溢出”了呢?是哪里出现问题了?真心求教!急急急! 展开
2个回答
展开全部
这个弯路绕大了,36!=3.71993E+41, 是个亿亿亿亿亿级的数字,vb中没有什么数据类型能精确存放它的结果,而36!/7!/(36-7)!只需要算(36*35*34*33*32*31*30)/(1*2*3*4*5*6*7)就行了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询