{VERSION 3 0 "DEC ALPHA UNIX" "3.0" } {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 i ts first argument to be an array indexed by 1..n, where n is the secon d 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 local 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 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 12 "" 1 "" {XPPMATH 20 "6# R6%%\"tG%\"iG%\"nG6#%\"jG6\"F*@%/9%\"\"\"-%&printG6#7#-%$seqG6$&9$6#8$ /F9;F.9&?(F9F.F.F-%%trueGC%-%)exchangeG6%F7F-F9-%&recurG6%F7,&F-F.!\" \"F.F " 0 "" {MPLTEXT 1 0 0 "" }}}} {MARK "2 0 0" 195 }{VIEWOPTS 1 1 0 1 1 1803 }