11桁の分数の通分について
大至急お願いします。
Access2000のVBAで通分が必要となりました。
現在使用しているロジックでは時間がかかるため、高速なロジックを教えてください。
なお、分子は1~99999999998(11桁)の範囲、分母は2~99999999999(11桁)の範囲となります。
1/2でから、1/99999999999の範囲で通分しなければなりません。よいアイデアをお願いします。m(__)m
現在は、以下のロジックで最大公倍数と最小公倍数を算出しています。
Private Function VBA_LCM2(ByVal m As Double, ByVal n As Double) As Double
If m > 0 And n > 0 Then
VBA_LCM2 = m * n / VBA_GCD2(m, n)
End If
End Function
Private Function VBA_GCD2(ByVal m As Double, ByVal n As Double) As Double
If m > 0 And n > 0 Then
Do Until m = n
Select Case True
Case m = n
Exit Do
Case m > n
m = m - n
Case m < n
n = n - m
End Select
Loop
VBA_GCD2 = m
End If
End Function