RosettaCodeData/Task/Permutations/Icon/permutations.icon
2023-07-01 13:44:08 -04:00

8 lines
194 B
Text

procedure main(A)
every p := permute(A) do every writes((!p||" ")|"\n")
end
procedure permute(A)
if *A <= 1 then return A
suspend [(A[1]<->A[i := 1 to *A])] ||| permute(A[2:0])
end