2010年3月29日 星期一

大數相加

'大數相加
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim n1 = "1234567890"
        Dim n2 = "12345678901200000"
        Dim a(100)
        Dim b(100)
        Dim d(100)

        Dim i1 = 0
        For i = n1.Length - 1 To 0 Step -1
            a(i1) = Val(n1.Chars(i))
            i1 = i1 + 1
        Next

        i1 = 0
        For i = n2.Length - 1 To 0 Step -1
            b(i1) = Val(n2.Chars(i))
            i1 = i1 + 1
        Next

        Dim c = 0
        For i = 0 To 100
            d(i) = a(i) + b(i) + c
            If d(i) >= 10 Then
                c = 1
                d(i) = d(i) - 10
            Else
                c = 0
            End If
        Next

        Dim str = ""
        For i = 0 To 100
            str = d(i) & str
        Next

        While Microsoft.VisualBasic.Left(str, 1) = "0"
            str = Microsoft.VisualBasic.Right(str, str.Length - 1)
        End While
        MsgBox(str)
        'MsgBox(str & " -- " & (Val(n1) + Val(n2)) & " -- " & Val(str) - (Val(n1) + Val(n2)))
        End
    End Sub
End Class


沒有留言: