32 lines
566 B
Plaintext
32 lines
566 B
Plaintext
SUB perms (n)
|
|
DIM a(0 TO n - 1), c(0 TO n - 1)
|
|
|
|
FOR j = 0 TO n - 1
|
|
a(j) = j + 1
|
|
PRINT a(j);
|
|
NEXT j
|
|
PRINT
|
|
|
|
i = 0
|
|
WHILE i < n
|
|
IF c(i) < i THEN
|
|
IF (i AND 1) = 0 THEN
|
|
SWAP a(0), a(i)
|
|
ELSE
|
|
SWAP a(c(i)), a(i)
|
|
END IF
|
|
FOR j = 0 TO n - 1
|
|
PRINT a(j);
|
|
NEXT j
|
|
PRINT
|
|
c(i) = c(i) + 1
|
|
i = 0
|
|
ELSE
|
|
c(i) = 0
|
|
i = i + 1
|
|
END IF
|
|
WEND
|
|
END SUB
|
|
|
|
perms(4)
|