tasks a-s
This commit is contained in:
parent
47bf37c096
commit
b83f433714
12433 changed files with 156208 additions and 123 deletions
25
Task/Permutations/XPL0/permutations.xpl0
Normal file
25
Task/Permutations/XPL0/permutations.xpl0
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
code ChOut=8, CrLf=9;
|
||||
def N=4; \number of objects (letters)
|
||||
char S0, S1(N);
|
||||
|
||||
proc Permute(D); \Display all permutations of letters in S0
|
||||
int D; \depth of recursion
|
||||
int I, J;
|
||||
[if D=N then
|
||||
[for I:= 0 to N-1 do ChOut(0, S1(I));
|
||||
CrLf(0);
|
||||
return;
|
||||
];
|
||||
for I:= 0 to N-1 do
|
||||
[for J:= 0 to D-1 do \check if object (letter) already used
|
||||
if S1(J) = S0(I) then J:=100;
|
||||
if J<100 then
|
||||
[S1(D):= S0(I); \object (letter) not used so append it
|
||||
Permute(D+1); \recurse next level deeper
|
||||
];
|
||||
];
|
||||
];
|
||||
|
||||
[S0:= "rose "; \N different objects (letters)
|
||||
Permute(0); \(space char avoids MSb termination)
|
||||
]
|
||||
Loading…
Add table
Add a link
Reference in a new issue