RosettaCodeData/Task/Permutations-Derangements/SuperCollider/permutations-derangements-1.supercollider
2016-12-05 22:15:40 +01:00

16 lines
270 B
Text

(
d = { |array, n|
Routine {
n = n ?? { array.size.factorial };
n.do { |i|
var permuted = array.permute(i);
if(array.every { |each, i| permuted[i] != each }) {
permuted.yield
};
}
};
};
f = { |n| d.((0..n-1)) };
x = f.(4);
x.all.do(_.postln); "";
)