RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
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
        ' 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
Close Icon
Thanks for your registration, follow us on our social networks to keep up-to-date