1import std/strformat
2
3func collatz(n: int64): int64 =
4 return if n mod 2 == 0:
5 n div 2
6 else:
7 3 * n + 1
8
9proc collatzSequence(n: int64): string =
10 result = fmt"{n}: "
11 var i = collatz(n)
12 while i != 1:
13 result &= fmt"{i}, "
14 i = collatz(i)
15 result &= "1"
16
17proc main() =
18 for i in 1 .. 10000:
19 echo collatzSequence(i)
20
21when isMainModule:
22 main()