Best shuffle: Difference between revisions
Content added Content deleted
(Javascript implementation) |
(Javascript: bug fix) |
||
Line 118: | Line 118: | ||
for (var j= 0; j<chs.length; j++) |
for (var j= 0; j<chs.length; j++) |
||
cycles[j%mx].push(ndx[j]); |
cycles[j%mx].push(ndx[j]); |
||
var ref= raze(cycles); |
|||
for (var k= 0; k < mx; k++) |
for (var k= 0; k < mx; k++) |
||
cycles[k].push(cycles[k].shift()); |
cycles[k].push(cycles[k].shift()); |
||
Line 123: | Line 124: | ||
var shf= []; |
var shf= []; |
||
for (var j= 0; j<chs.length; j++) |
for (var j= 0; j<chs.length; j++) |
||
shf |
shf[ref[j]]= chs[prm[j]]; |
||
return shf.join(''); |
return shf.join(''); |
||
} |
} |
||
Line 148: | Line 149: | ||
Produces: |
Produces: |
||
<lang>abracadabra, |
<lang>abracadabra, bdabararaac, (0) |
||
seesaw, |
seesaw, eawess, (0) |
||
elk, lke, (0) |
elk, lke, (0) |
||
grrrrrr, |
grrrrrr, rrrrrrg, (5) |
||
up, pu, (0) |
up, pu, (0) |
||
a, a, (1)</lang> |
a, a, (1))</lang> |
||
=={{header|PicoLisp}}== |
=={{header|PicoLisp}}== |