RosettaCodeData/Task/Permutations-Derangements/SuperCollider/permutations-derangements-1.sc
2023-07-01 13:44:08 -04:00

16 lines
270 B
Scala

(
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); "";
)