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>
 
2,747

edits