【急】一道vb题目,求大神帮忙!

程序模拟体育彩票中从随机选出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
为什么总是说我“溢出”了呢?是哪里出现问题了?真心求教!急急急!

这个弯路绕大了,36!=3.71993E+41, 是个亿亿亿亿亿级的数字,vb中没有什么数据类型能精确存放它的结果,而36!/7!/(36-7)!只需要算(36*35*34*33*32*31*30)/(1*2*3*4*5*6*7)就行了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-15
记住你了,以后再也不会鸟你的问题了,回答我也删除掉
相似回答