v8bas

v8.bas

Basic dilinde

REM 8 queens on a chessboard

DEFINT A-Z

DIM m(8)

FOR i = 1 TO 8

LET m(i) = 1

NEXT i

LET n = 0

LET i = 1

100 IF i = 1 THEN GOTO 180

LET d = 0

FOR a = i - 1 TO 1 STEP -1

IF m(i) = m(a) THEN GOTO 210

LET d = d + 1

IF m(i) + d = m(a) THEN GOTO 210

IF m(i) - d = m(a) THEN GOTO 210

NEXT a

180 LET i = i + 1

IF i = 9 THEN GOTO 270

GOTO 100

210 LET m(i) = m(i) + 1

IF m(i) < 9 THEN GOTO 100

LET m(i) = 1

240 LET i = i - 1

IF i > 0 THEN GOTO 210

SYSTEM

270 n = n + 1

PRINT n; " a"; m(1); " b"; m(2); " c"; m(3); " d"; m(4); " e"; m(5); " f"; m(6); " g"; m(7); " h"; m(8)

GOTO 240