Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
31
Task/Kolakoski-sequence/Mathematica/kolakoski-sequence.math
Normal file
31
Task/Kolakoski-sequence/Mathematica/kolakoski-sequence.math
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
ClearAll[KolakoskiGen]
|
||||
KolakoskiGen[start_List, its_Integer] := Module[{c, s, k, cnext, sk},
|
||||
s = {};
|
||||
k = 1;
|
||||
c = start;
|
||||
Do[
|
||||
cnext = First[c];
|
||||
c = RotateLeft[c];
|
||||
AppendTo[s, cnext];
|
||||
sk = s[[k]];
|
||||
If[sk > 1,
|
||||
s = Join[s, ConstantArray[cnext, sk - 1]]
|
||||
];
|
||||
k += 1;
|
||||
,
|
||||
{its}
|
||||
];
|
||||
s
|
||||
]
|
||||
|
||||
run = Take[KolakoskiGen[{1, 2}, 20], 20]
|
||||
check = Length /@ Split[%];
|
||||
check === Take[run, Length[check]]
|
||||
|
||||
run = Take[KolakoskiGen[{2, 1}, 20], 20]
|
||||
check = Length /@ Split[%];
|
||||
check === Take[run, Length[check]]
|
||||
|
||||
run = Take[KolakoskiGen[{1, 3, 1, 2}, 30], 30]
|
||||
check = Length /@ Split[%];
|
||||
check === Take[run, Length[check]]
|
||||
Loading…
Add table
Add a link
Reference in a new issue