Длинная арифметика - произведение очень больших чисел - 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5
Похожие ответы