VB阶乘之和问题

来源:百度知道 编辑:UC知道 时间:2024/06/18 02:33:41
Private Sub Form_Load()
Dim a(1 To 30) As Long, sum As Long, t As Long
Dim n As Long
Show
t = 1
For n = 1 To 30
t = t * n
a(n) = t
Next n
sum = 0
For Each x In a
sum = sum + x
Next x
Print "1! + 2! + 3! + …… 30! ="; sum
End Sub
求1到30的阶乘之和,报错为溢出。是什么原因?怎样修改呢?

SUM你定义的是long 而到30的阶乘之和明显超过的long的范围
你改个吧
把sum改个数据类型 改个大一点的
我是VC的 不知道VB里的是什么 所以 我也就不给您乱介绍了

比较大的数的阶乘早就超过了long的范围,可以将30改小一些。