{VERSION 2 3 "DEC ALPHA UNIX" "2.3" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 } {PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 11 12 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "T:=array(1..3,[a,b,c ]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"TG-%'VECTORG6#7%%\"aG%\"bG% \"cG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "indices(T);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6%7#\"\"\"7#\"\"#7#\"\"$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 234 "perm:=proc(t::array,n::posint)\n \+ local i;\n if [indices(t)]<>[[i]$i=1..n] then\n ERROR(`expected it s first argument to be an array indexed by 1..n, where n is the second argument, but received`,t,n)\n else\n recur(t,n,n)\n fi\nend:" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 80 "exchange:=proc(t,i,j)\n l ocal c;\n c:=t[i];\n t[i]:=t[j];\n t[j]:=c;\n NULL\nend:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 193 "recur:=proc(t,i,n)\n loc al j;\n if i=1 then print([seq(t[j],j=1..n)])\n else for j to i \+ do \n exchange(t,i,j);\n recur(t,i-1,n);\n exchan ge(t,i,j)\n od\n fi\n end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "perm(array(1..3,[a,b,c]),3);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%%\"bG%\"cG%\"aG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7% %\"cG%\"bG%\"aG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%%\"cG%\"aG%\"bG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%%\"aG%\"cG%\"bG" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#7%%\"bG%\"aG%\"cG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# 7%%\"aG%\"bG%\"cG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 2 "\";" }} {PARA 12 "" 1 "" {XPPMATH 20 "6#:6%%\"tG%\"iG%\"nG6#%\"jG6\"F*@%/9%\" \"\"-%&printG6#7#-%$seqG6$&9$6#8$/F9;F.9&?(F9F.F.F-%%trueGC%-%)exchang eG6%F7F-F9-%&recurG6%F7,&F-F.!\"\"F.F " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "7 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 }