Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
26
Task/Kolakoski-sequence/Sidef/kolakoski-sequence.sidef
Normal file
26
Task/Kolakoski-sequence/Sidef/kolakoski-sequence.sidef
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
func create_generator(arr) {
|
||||
Enumerator({|f|
|
||||
var s = []
|
||||
var i = 0
|
||||
loop {
|
||||
var t = arr[i++ % arr.len]
|
||||
s << t
|
||||
f(var v = s.shift)
|
||||
s << (v-1).of(t)...
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
var tests = [
|
||||
[20, [1,2]],
|
||||
[20, [2,1]],
|
||||
[30, [1,3,1,2]],
|
||||
[30, [1,3,2,1]]
|
||||
]
|
||||
|
||||
for num,arr in (tests) {
|
||||
say "\nFirst #{num} of the sequence generated by #{arr}:"
|
||||
var res = create_generator(arr).first(num)
|
||||
var rle = res.run_length.map{.tail}
|
||||
say "#{res}\nPossible Kolakoski sequence? #{res.first(rle.len) == rle}"
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue