分数の加法もVBAでどうなるのか聞いてみました。
なんとまあ、数秒です。
Function addFractions(a As Double, b As Double, c As Double, d As Double) As String
' 最小公倍数を求める
lcm = (d * c) / Application.GCD(d, c)
' 分子を計算
numerator = (lcm / c * a) + (lcm / d * b)
' 約分
gcd = Application.GCD(numerator, lcm)
numerator = numerator / gcd
lcm = lcm / gcd
' 分数の形式で返す
addFractions = CStr(numerator) & "/" & CStr(lcm)
End Function
0 件のコメント:
コメントを投稿