Language: VB4,VB5,VB6,VBS Expertise: Intermediate
May 27, 2000
LCM - The Least Common Multiple of two integers
' the Least Common Multiple of two integers
' (it uses the Euclide's algorithm)
' if either argument is zero you get a "Division by Zero" error
'
' Note: if your app also includes the CGD() function,
' you can simplify the following code as follows:
' LCM = (n1 * n2) \ GCD(n1, n2)
Function LCM(ByVal n1 As Long, ByVal n2 As Long) As Long
Dim tmp As Long, product As Long
product = n1 * n2
' the following block evaluates the GCD
' of the two numbers
Do
' swap the items so that n1 >= n2
If n1 < n2 Then
tmp = n1
n1 = n2
n2 = tmp
End If
' take the modulo
n1 = n1 Mod n2
Loop While n1
' now n2 contains the GCD of the two numbers
' The LCM is equal to (n1*n2) \ GCD(n1,n2)
LCM = product \ n2
End Function
Francesco Balena
|