|
'
' VX.BAS - (C) PKF 5/5/98
' events space: 32 upon 8
' dispositions: 5.259.150
' ----------------------
CLS
evt = 32
SCREEN 1
LOCATE 11, 9
PRINT "Please wait..."
LOCATE 13, 9
PRINT "I'm working..."
DEFDBL Z
DIM k(8), p$(evt)
FOR i = 1 TO 8
k(i) = i
NEXT i
z = 1
OPEN "o", #1, "c:\vx.txt"
t = TIMER
DO
FOR i = 1 TO evt
p$(i) = "0"
NEXT i
FOR i = 1 TO 8
p$(k(i)) = "1"
NEXT i
r$ = ""
FOR i = 1 TO evt
r$ = r$ + p$(i)
NEXT i
PRINT #1, r$; ","; z
z = z + 1
f = 0
k(8) = k(8) + 1 'why not considering a recursion here??
IF k(8) > evt THEN
k(7) = k(7) + 1
IF k(7) > evt - 1 THEN
k(6) = k(6) + 1
IF k(6) > evt - 2 THEN
k(5) = k(5) + 1
IF k(5) > evt - 3 THEN
k(4) = k(4) + 1
IF k(4) > evt - 4 THEN
k(3) = k(3) + 1
IF k(3) > evt - 5 THEN
k(2) = k(2) + 1
IF k(2) > evt - 6 THEN
k(1) = k(1) + 1
IF k(1) > evt - 7 THEN
f = 99 'last combination
ELSE
k(2) = k(1) + 1
k(3) = k(2) + 1
k(4) = k(3) + 1
k(5) = k(4) + 1
k(6) = k(5) + 1
k(7) = k(6) + 1
k(8) = k(7) + 1
END IF
ELSE
k(3) = k(2) + 1
k(4) = k(3) + 1
k(5) = k(4) + 1
k(6) = k(5) + 1
k(7) = k(6) + 1
k(8) = k(7) + 1
END IF
ELSE
k(4) = k(3) + 1
k(5) = k(4) + 1
k(6) = k(5) + 1
k(7) = k(6) + 1
k(8) = k(7) + 1
END IF
ELSE
k(5) = k(4) + 1
k(6) = k(5) + 1
k(7) = k(6) + 1
k(8) = k(7) + 1
END IF
ELSE
k(6) = k(5) + 1
k(7) = k(6) + 1
k(8) = k(7) + 1
END IF
ELSE
k(7) = k(6) + 1
k(8) = k(7) + 1
END IF
ELSE
k(8) = k(7) + 1
END IF
END IF
LOOP UNTIL f = 99
CLOSE #1
t = TIMER - t
PRINT "Working time: "; t; " seconds."
SCREEN 0
END
|