RosettaCodeData/Task/Van-der-Corput-sequence/Sidef/van-der-corput-sequence.sidef

16 lines
357 B
Text
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
func vdc(value, base=2) {
while (value[-1] > 0) {
value.append(value[-1] / base -> int)
}
var (x, sum) = (1, 0)
value.each { |i|
sum += ((i % base) / (x *= base))
}
return sum
}
 
for base in (2..5) {
var seq = 10.of {|i| vdc([i], base) }
"base %d: %s\n".printf(base, seq.map{|n| "%.4f" % n}.join(', '))
}