Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,30 @@
|
|||
procedure main(A)
|
||||
every write("Permutations of length ",n := !A) do
|
||||
every p := permute(n) do write("\t",showList(p[1])," -> ",right(p[2],2))
|
||||
end
|
||||
|
||||
procedure permute(n)
|
||||
items := [[]]
|
||||
every (j := 1 to n, new_items := []) do {
|
||||
every item := items[i := 1 to *items] do {
|
||||
if *item = 0 then put(new_items, [j])
|
||||
else if i%2 = 0 then
|
||||
every k := 1 to *item+1 do {
|
||||
new_item := item[1:k] ||| [j] ||| item[k:0]
|
||||
put(new_items, new_item)
|
||||
}
|
||||
else
|
||||
every k := *item+1 to 1 by -1 do {
|
||||
new_item := item[1:k] ||| [j] ||| item[k:0]
|
||||
put(new_items, new_item)
|
||||
}
|
||||
}
|
||||
items := new_items
|
||||
}
|
||||
suspend (i := 0, [!items, if (i+:=1)%2 = 0 then 1 else -1])
|
||||
end
|
||||
|
||||
procedure showList(A)
|
||||
every (s := "[") ||:= image(!A)||", "
|
||||
return s[1:-2]||"]"
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue