07-12-2003, 01:52 AM
This is my recursive entry:
Code:
'Antoni Gual 2003
DECLARE SUB COMBINE (I%)
DECLARE SUB PRINTIT ()
DEFINT A-Z
CONST NDATA = 5
DATA Q,B,A,S,I,C,N,E,W,S
DIM SHARED CNT&
DIM SHARED A(0 TO NDATA)
DIM SHARED B$, P$
B$ = SPACE$(NDATA)
P$ = B$
FOR I = 1 TO NDATA
READ c$
MID$(B$, I, 1) = c$
NEXT
COMBINE 1
PRINT : PRINT CNT&; " PERMUTATIONS"
END
SUB COMBINE (I)
IF I > NDATA THEN EXIT SUB
FOR J = 1 TO NDATA
FOR K = 1 TO I
IF A(K - 1) = J THEN GOTO ENDED
NEXT
A(I) = J
COMBINE (I + 1)
IF I = NDATA THEN PRINTIT
ENDED:
NEXT
END SUB
SUB PRINTIT
FOR KK = 1 TO NDATA
MID$(P$, KK, 1) = MID$(B$, A(KK), 1)
NEXT
PRINT P$,
CNT& = CNT& + 1
END SUB
Antoni