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)