Jump to content

Euclidean rhythm: Difference between revisions

adjust section order to alphabetic order
(Add Java implementation)
(adjust section order to alphabetic order)
Line 114:
</pre>
 
== [[Python]] ==
{{trans|JavaScript}}<syntaxhighlight lang="python3">
def E(k, n):
s = [[1] if i < k else [0] for i in range(n)]
 
d = n - k
n = max(k, d)
k = min(k, d)
z = d
 
while z > 0 or k > 1:
for i in range(k):
s[i].extend(s[len(s) - 1 - i])
s = s[:-k]
z = z - k
d = n - k
n = max(k, d)
k = min(k, d)
 
return [item for sublist in s for item in sublist]
 
print(''.join(map(str, E(5, 13))))
# 1001010010100
 
</syntaxhighlight>
 
== [[:Category:JavaScript|JavaScript]] ==
Line 167 ⟶ 142:
> E(3,8)
[1, 0, 0, 1, 0, 0, 1, 0]
 
</syntaxhighlight>
 
== [[Python]] ==
{{trans|JavaScript}}<syntaxhighlight lang="python3">
def E(k, n):
s = [[1] if i < k else [0] for i in range(n)]
 
d = n - k
n = max(k, d)
k = min(k, d)
z = d
 
while z > 0 or k > 1:
for i in range(k):
s[i].extend(s[len(s) - 1 - i])
s = s[:-k]
z = z - k
d = n - k
n = max(k, d)
k = min(k, d)
 
return [item for sublist in s for item in sublist]
 
print(''.join(map(str, E(5, 13))))
# 1001010010100
 
</syntaxhighlight>
338

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.