18 lines
368 B
Text
18 lines
368 B
Text
var gcd = Fn.new { |x, y|
|
|
while (y != 0) {
|
|
var t = y
|
|
y = x % y
|
|
x = t
|
|
}
|
|
return x.abs
|
|
}
|
|
|
|
var lcm = Fn.new { |x, y|
|
|
if (x == 0 && y == 0) return 0
|
|
return (x*y).abs / gcd.call(x, y)
|
|
}
|
|
|
|
var xys = [[12, 18], [-6, 14], [35, 0]]
|
|
for (xy in xys) {
|
|
System.print("lcm(%(xy[0]), %(xy[1]))\t%("\b"*5) = %(lcm.call(xy[0], xy[1]))")
|
|
}
|