一道关于VB的题!计算1的阶乘分之一 加 2的阶乘分之一 加 3的阶乘分之一 加 4的阶乘分之一

问题描述:

一道关于VB的题!计算1的阶乘分之一 加 2的阶乘分之一 加 3的阶乘分之一 加 4的阶乘分之一
下面是我自己编的代码
Private Sub Command1_Click()
n = 1
s = 1
Do While n For i = 1 To n
s = s * i
Next i
m = m + 1 / s
n = n + 1
Loop
Print m
End Sub
但是算出来的答案和 计算机算出来的不一样啊,这个算出来是1.5868·····
计算机算出来是1.7 几 差别有点大啊

把s=1放到Do While n我试了下,正解! 但是请问这是为什么啊?因为每次做Do循环时,前一次的S没有还原,继承了上一次的值也就是第一次循环S=1第二次循环S=1*1*2第三次循环S=1*1*2*1*2*3第四次循环S=1*1*2*1*2*3*1*2*3*4所以答案不对