If IsNumeric(Text1.Text) Then
Text2.Text = "0"
N = CLng(Text1.Text)
For I = 1 To N
Text2.Text = LongNumAdd(Text2.Text, CStr(I))
Next
Else
MsgBox "N並須為數值!!"
End If
End Sub
Function LongNumAdd(ByVal Num1 As String, ByVal Num2 As String) As String
Dim A, B, I, R As Integer
If Len(Num1) < Len(Num2) Then
For I = Len(Num1) + 1 To Len(Num2)
Num1 = "0" & Num1
Next
Else
For I = Len(Num2) + 1 To Len(Num1)
Num2 = "0" & Num2
Next
End If
For I = Len(Num1) To 1 Step -1
A = CInt(Mid(Num1, I, 1))
B = CInt(Mid(Num2, I, 1))
LongNumAdd = ((A + B + R) Mod 10) & LongNumAdd
R = (A + B + R) \ 10
Next
If R > 0 Then LongNumAdd = R & LongNumAdd
End Function作者: wc_big_pig天尊 時間: 2008-3-22 05:01
Private Sub Command1_Click()
Dim S(1) As String
S(0) = "123456789876543210123456789"
S(1) = "9876543210123456789876543210123456789876543212345678987654321012345678987654321"
Print mADD(S(0), S(1))
End Sub
Function mADD(ByVal s1 As String, ByVal s2 As String) As String
Dim I As Integer, St As String, T As Integer, X As Integer
If Len(s1) < Len(s2) Then St = s1: s1 = s2: s2 = St
X = Len(s2): mADD = s1
For I = Len(s1) To 1 Step -1
If X > 0 Then
St = Int(Mid$(s1, I, 1)) + Int(Mid$(s2, X, 1)) + T
X = X - 1
Else
If T = 0 Then Exit Function
St = Int(Mid$(s1, I, 1)) + T
End If
T = -1 * (Len(St) > 1)
Mid$(mADD, I, 1) = Right$(St, 1)
Next
If T Then mADD = "1" & mADD
End Function
歡迎光臨 中央論壇 - CENTER BBS (https://www.centerbbs.com/)