RosettaCodeData/Task/Ordered-Partitions/Zkl/ordered-partitions-1.zkl
2017-09-25 22:28:19 +02:00

13 lines
352 B
Text

fcn partitions(args){
args=vm.arglist;
s:=(1).pump(args.sum(0),List); // (1,2,3,...)
fcn(s,args,p){
if(not args) return(T(T));
res:=List();
foreach c in (Utils.Helpers.pickNFrom(args[0],s)){
s0:=s.copy().removeEach(c);
foreach r in (self.fcn(s0,args[1,*])){ res.append(T(c).extend(r)) }
}
res
}(s,args)
}