2023年3月31日金曜日
ChatGPT 面白いようにナゾが解ける(異分母の計算)
目からうろこです。
Sub AddFractions()
'定数の宣言
Dim numer1 As Double, denom1 As Double, numer2 As Double, denom2 As Double
Dim numer3 As Double, denom3 As Double, result As String
'分子と分母を取得
numer1 = Range("A1").Value
denom1 = Range("A2").Value
numer2 = Range("B1").Value
denom2 = Range("B2").Value
'最終分母を計算
denom3 = denom1 * denom2
'最終分子を計算
numer3 = (numer1 * denom2) + (numer2 * denom1)
'分数として表示
result = numer3 & "/" & denom3
'結果を出力
Range("C1").Value = result
End Sub
2023年3月30日木曜日
ChatGPT さらに問いかけてみる
分数の加法も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
2023年3月29日水曜日
登録:
投稿 (Atom)