🐢

[鉄則B27] Calculate LCM

2024/05/16に公開

https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_cz

自然数の最小公倍数を求める問題。

問題を要約する

  • 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