RosettaCodeData/Task/Van-der-Corput-sequence/Nim/van-der-corput-sequence.nim
2023-07-01 13:44:08 -04:00

16 lines
371 B
Nim

import rationals, strutils, sugar
type Fract = Rational[int]
proc corput(n: int; base: Positive): Fract =
result = 0.toRational
var b = 1 // base
var n = n
while n != 0:
result += n mod base * b
n = n div base
b /= base
for base in 2..5:
let list = collect(newSeq, for n in 1..10: corput(n, base))
echo "Base $#: ".format(base), list.join(" ")