mirror of
https://github.com/Dummi26/mers.git
synced 2025-03-10 14:13:52 +01:00
31 lines
589 B
Plaintext
31 lines
589 B
Plaintext
gcd := vals -> {
|
|
() -> {
|
|
(a, b) := vals
|
|
if a.eq(b)
|
|
(a)
|
|
else if a.diff(b).signum.eq(1)
|
|
&vals = (a, a.diff(b))
|
|
else
|
|
&vals = (b.diff(a), b)
|
|
}
|
|
}.loop
|
|
|
|
get_num := () -> {
|
|
line := ().read_line.trim
|
|
(
|
|
line.parse_float,
|
|
(
|
|
() -> {
|
|
("error: '", line, "' not a number!").concat.println
|
|
1.panic
|
|
}
|
|
n -> n,
|
|
)
|
|
).try
|
|
}
|
|
|
|
("gcd of 899 and 2900 is ", (899, 2900).gcd).concat.println // 29
|
|
"Now type two numbers!".println
|
|
(a, b) := (().get_num, ().get_num)
|
|
("gcd of ", a, " and ", b, " is ", (a, b).gcd).concat.println
|