RosettaCodeData/Task/Van-Eck-sequence/Sidef/van-eck-sequence.sidef

18 lines
271 B
Plaintext

func van_eck(n) {
var seen = Hash()
var seq = [0]
var prev = seq[-1]
for k in (1 ..^ n) {
seq << (seen.has(prev) ? (k - seen{prev}) : 0)
seen{prev} = k
prev = seq[-1]
}
seq
}
say van_eck(10)
say van_eck(1000).last(10)