Jump to content

Euclidean rhythm: Difference between revisions

Add Mathematica/Wolfram Language implementation
(Add Julia implementation)
(Add Mathematica/Wolfram Language implementation)
Line 287:
</pre>
 
=={{header|Mathematica}}/{{header|Wolfram Language}}==
{{trans|Julia}}
<syntaxhighlight lang="Mathematica">
funcE[inputk_, inputn_] := Module[{s, d, z, i},
k=inputk; n=inputn;
s = Table[If[i <= k, {1}, {0}], {i, 1, n}];
 
d = n - k;
{n, k} = {Max[k, d], Min[k, d]};
z = d;
 
While[z > 0 || k > 1,
For[i = 1, i <= k, i++,
s[[i]]=Join[s[[i]], s[[Length[s] - i + 1]]]
];
s = Take[s, Length[s] - k];
z -= k;
d = n - k;
{n, k} = {Max[k, d], Min[k, d]};
];
 
Flatten[s]
]
 
(* Test the function *)
StringJoin[ToString /@ funcE[5, 13]] //Print
(* The output should be "1001010010100" *)
</syntaxhighlight>
{{out}}
<pre>
1001010010100
 
</pre>
 
== [[Python]] ==
338

edits

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