🐢
[鉄則B27] Calculate LCM
自然数の最小公倍数を求める問題。
問題を要約する
- A, B の最小公倍数(LCM)は?
- A, B は自然数なので 0 除算は考慮しないでよい
公式
GCD * LCM = A * B
したがって先に GCD を求めれば LCM も求まる。
実装
A, B = gets.split.collect(&:to_i) # => [25, 30]
def gcd(a, b) = a.zero? ? b : gcd(b.modulo(a), a)
p A * B / gcd(A, B) # => 150
組み込みメソッドを使う場合
A, B = gets.split.collect(&:to_i) # => [25, 30]
A.lcm(B) # => 150
Discussion