Длинная арифметика - произведение очень больших чисел - Visual Basic .NET
Формулировка задачи:
Всем доброго здоровичка!!! Кто-нибудь делал произведение очень больших чисел??? Числа берутся и ТекстБоксов. Подскажите пожалуйста с кодом на VB2008!!! Спасибо!!!
Решение задачи: «Длинная арифметика - произведение очень больших чисел»
textual
Листинг программы
- Public Class Form1
- Function mul(m1 As String, m2 As String) As String
- Dim a() As String, n As Byte
- Dim i1 As Long, i2 As Long, L1 As Long, L2 As Long
- L1 = Len(m1) : L2 = Len(m2)
- ReDim a(L1 + L2)
- For i2 = L2 To 1 Step -1
- n = Mid$(m2, i2, 1)
- For i1 = L1 To 1 Step -1
- a(i1 + i2) = Val(a(i1 + i2)) + n * Mid$(m1, i1, 1)
- If a(i1 + i2) > 9 Then
- a(i1 + i2 - 1) = Val(a(i1 + i2 - 1)) + a(i1 + i2) \ 10
- a(i1 + i2) = a(i1 + i2) Mod 10
- End If
- Next i1
- Next i2
- mul = Join(a, "")
- End Function
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Dim res$ = "1"
- '321^234
- Dim s$ = "321"
- For i% = 1 To 234
- res = mul(res, s)
- Next
- Debug.Print(res)
- '1000!
- res = 1
- For i% = 2 To 1000
- res = mul(res, i)
- Next
- Debug.Print(res)
- End Sub
- End Class
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д