求VB程序代码 1!+2!……20!的和

来源:百度知道 编辑:UC知道 时间:2024/05/26 23:23:22
求VB高手 帮小弟我解答一下这个程序怎么写,谢谢了

楼上一堆人都不知道精度是会溢出的吗?
你们自己算算20!都多少位了?10!是7位,20!不会低于18位,哪个精度也表示不了这么大数字的精确值,只能用高精度计算。

'高精度乘法
Sub Multiply(src() As Integer, multiplier As Integer)
Dim i As Integer
For i = 0 To UBound(src)
If src(i) <> 0 Then
src(i) = src(i) * multiplier
End If
Next
Carryout src
End Sub
'高精度加法
Sub Add(src() As Integer, adder() As Integer)
Dim i As Integer
For i = 0 To UBound(src)
If i <= UBound(adder) Then
src(i) = src(i) + adder(i)
End If
Next
Carryout src
End Sub
'高精度进位
Sub Carryout(src() As Integer)
Dim i As Integer
For i = 0 To UBound(src)
If src(i) > 9 Then
If i = UBound(src) Then
ReDim Preserve src(i + 1)
End If
src(i + 1) = src(i + 1) + src(i) \ 10
src(i) = src(i) Mod 10
End If
Next
End Sub

'主程序
Sub Main()
Dim i As Integer
Dim MDigit() As Integer
Dim Sum() As I