Длинная арифметика - произведение очень больших чисел - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Всем доброго здоровичка!!! Кто-нибудь делал произведение очень больших чисел??? Числа берутся и ТекстБоксов. Подскажите пожалуйста с кодом на VB2008!!! Спасибо!!!

Решение задачи: «Длинная арифметика - произведение очень больших чисел»

textual
Листинг программы
  1. Public Class Form1
  2.  
  3.   Function mul(m1 As String, m2 As String) As String
  4.     Dim a() As String, n As Byte
  5.     Dim i1 As Long, i2 As Long, L1 As Long, L2 As Long
  6.     L1 = Len(m1) : L2 = Len(m2)
  7.     ReDim a(L1 + L2)
  8.     For i2 = L2 To 1 Step -1
  9.       n = Mid$(m2, i2, 1)
  10.       For i1 = L1 To 1 Step -1
  11.         a(i1 + i2) = Val(a(i1 + i2)) + n * Mid$(m1, i1, 1)
  12.         If a(i1 + i2) > 9 Then
  13.           a(i1 + i2 - 1) = Val(a(i1 + i2 - 1)) + a(i1 + i2) \ 10
  14.           a(i1 + i2) = a(i1 + i2) Mod 10
  15.         End If
  16.       Next i1
  17.     Next i2
  18.     mul = Join(a, "")
  19.   End Function
  20.  
  21.   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  22.     Dim res$ = "1"
  23.     '321^234
  24.     Dim s$ = "321"
  25.     For i% = 1 To 234
  26.       res = mul(res, s)
  27.     Next
  28.     Debug.Print(res)
  29.  
  30.     '1000!
  31.     res = 1
  32.     For i% = 2 To 1000
  33.       res = mul(res, i)
  34.     Next
  35.     Debug.Print(res)
  36.   End Sub
  37. End Class

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


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

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

11   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы