14 lines
206 B
Ruby
14 lines
206 B
Ruby
def gcd(m, n)
|
|
m, n = n, m % n until n.zero?
|
|
m.abs
|
|
end
|
|
|
|
def lcm(*args)
|
|
args.inject(1) do |m, n|
|
|
return 0 if n.zero?
|
|
(m * n).abs / gcd(m, n)
|
|
end
|
|
end
|
|
|
|
p lcm 12, 18, 22
|
|
p lcm 15, 14, -6, 10, 21
|
|
|