Advertisement
Alex_Fomin

Untitled

Nov 30th, 2015
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Module Module1
  2.     'Функция нахождения наибольшего общего делителя'
  3.    Function GSD(a As Long, b As Long) As Long
  4.         If (a * b) = 0 Then
  5.             GSD = a + b
  6.         Else
  7.             If a > b Then
  8.                 GSD = GSD(a Mod b, b)
  9.             Else
  10.                 GSD = GSD(a, b Mod a)
  11.             End If
  12.         End If
  13.     End Function
  14.  
  15.     'Функция нахождения наименьшего общего кратного'
  16.    Function LCM(a As Long, b As Long) As Long
  17.         LCM = (a / GSD(a, b)) * b
  18.     End Function
  19.  
  20.     Sub Main()
  21.         Const n = 9
  22.         Dim arr(0 To n) As Integer
  23.         Dim i As Byte
  24.  
  25.         'Формируем исходный массив размером n+1'
  26.        Console.WriteLine("Исходный массив:")
  27.         For i = 0 To n
  28.             arr(i) = Int(Rnd() * 10) + 1
  29.             Console.Write("{0,3:0}", arr(i))
  30.         Next i
  31.         Console.WriteLine()
  32.  
  33.         'Выводим наименьшее общее кратное'
  34.        For i = 0 To n / 2
  35.             Console.WriteLine("НОК({0}+{1},{2}+{3})={4,4:0}", arr(i), arr(n - i), arr(i + 1), arr(n - (i + 1)), LCM(arr(i) + arr(n - i), arr(i + 1) + arr(n - (i + 1))))
  36.         Next i
  37.         Console.ReadKey()
  38.     End Sub
  39. End Module
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement