表紙へ

4.最小公倍数

 

以下のLCM関数を使うと最小公倍数を得ることができる。

但し、この関数は 3.最大公約数 に記載されている GCF関数を利用している。

例:LCM(15, 24, 60) = 120

Function LCM(ParamArray Values() As Variant) As Long

    Dim Temp As Long
    Dim PrevResult As Long
    Dim K As Long
    Dim X As Long
    Dim Y As Long

    PrevResult = Values(0)

    For K = 0 To UBound(Values()) - 1

        X = PrevResult
        Y = Abs(Values(K + 1))

        PrevResult = Y * (X \ GCF(X, Y))

    Next K

    LCM = PrevResult

End Function