Euclidean rhythm: Difference between revisions
Added Sidef
m (→{{header|RPL}}: improved code a little bit) |
(Added Sidef) |
||
Line 875:
<pre>
1001010010100
</pre>
=={{header|Sidef}}==
{{trans|Ruby}}
<syntaxhighlight lang="ruby">func e(k, n) {
var s = (^n -> map { |i| i < k ? [1] : [0] })
var d = (n - k)
n = max(k, d)
k = min(k, d)
var z = d
while ((z > 0) || (k > 1)) {
k.times { |i|
s[i] += s[-1 - i]
}
s = s.first(-k)
z -= k
d = (n - k)
n = max(k, d)
k = min(k, d)
}
s.flat.join
}
say e(5, 13)</syntaxhighlight>
{{out}}
<pre>
1001010010100
</pre>
|