Skip to content

Commit 5a6ebd0

Browse files
authored
Make Euclid's algorithm in Nim more idiomatic (#784)
1 parent 7bc0e22 commit 5a6ebd0

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed
Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
proc euclid_mod(in1, in2: int): int =
1+
func euclid_mod(in1, in2: int): int =
22
var
33
a = abs(in1)
44
b = abs(in2)
5-
5+
66
while b != 0:
77
let temp: int = b
88
b = a mod b
99
a = temp;
1010

11-
return a
11+
result = a
1212

13-
proc euclid_sub(in1, in2: int): int =
13+
func euclid_sub(in1, in2: int): int =
1414
var
1515
a = abs(in1)
1616
b = abs(in2)
@@ -20,8 +20,9 @@ proc euclid_sub(in1, in2: int): int =
2020
a -= b
2121
else:
2222
b -= a
23-
24-
return a
2523

26-
echo euclid_sub(64 * 67, 64 * 81)
27-
echo euclid_mod(128 * 12, 128 * 77)
24+
result = a
25+
26+
when isMainModule:
27+
echo euclid_sub(64 * 67, 64 * 81)
28+
echo euclid_mod(128 * 12, 128 * 77)

0 commit comments

Comments
 (0)