我是一名菜鸟,有问题请教众高手,我编了一道计算程序题,是求“1!+2!+...+100!“
的总和,我发现当从1!加到10!时,得出的总和是对的,可当从1!加到20!时,得出的总和却是错的,我不知道该怎么办才好,急盼求教.

解决方案 »

  1.   

    可能是溢出了,用double类型试试
      

  2.   

    1!+..+10!=  4037913
    1!+..+20!=  2.56132749411182E+18
    1!+..+100!= 9.42690016837099E+157
    以下是代码:
    Private Sub Command1_Click()
    Dim n As Integer
    Dim i  As Integer
    Dim t As Doublen = Val(Text1.Text)
    For i = 1 To n
     t = t + jiechen(i)
    Next i
    Text2.Text = t
    End SubPublic Function jiechen(ByVal n As Integer) As Double
    Dim t As Double
    Dim i As Integert = 1For i = 1 To n
        t = t * i
    Next i
    jiechen = t
    End Function