RosettaCodeData/Task/Topswops/Zkl/topswops.zkl

11 lines
324 B
Text
Raw Permalink Normal View History

2017-09-23 10:01:46 +02:00
fcn topswops(n){
flip:=fcn(xa){
if (not xa[0]) return(0);
xa.reverse(0,xa[0]+1); // inplace, ~4x faster than making new lists
return(1 + self.fcn(xa));
};
(0).pump(n,List):Utils.Helpers.permute(_).pump(List,"copy",flip).reduce("max");
}
foreach n in ([1 .. 10]){ println(n, ": ", topswops(n)) }