44 lines
1.6 KiB
Plaintext
44 lines
1.6 KiB
Plaintext
nStatements% = 12
|
|
DIM Pass%(nStatements%), T%(nStatements%)
|
|
|
|
FOR try% = 0 TO 2^nStatements%-1
|
|
|
|
REM Postulate answer:
|
|
FOR stmt% = 1 TO 12
|
|
T%(stmt%) = (try% AND 2^(stmt%-1)) <> 0
|
|
NEXT
|
|
|
|
REM Test consistency:
|
|
Pass%(1) = T%(1) = (nStatements% = 12)
|
|
Pass%(2) = T%(2) = ((T%(7)+T%(8)+T%(9)+T%(10)+T%(11)+T%(12)) = -3)
|
|
Pass%(3) = T%(3) = ((T%(2)+T%(4)+T%(6)+T%(8)+T%(10)+T%(12)) = -2)
|
|
Pass%(4) = T%(4) = ((NOT T%(5) OR (T%(6) AND T%(7))))
|
|
Pass%(5) = T%(5) = (NOT T%(2) AND NOT T%(3) AND NOT T%(4))
|
|
Pass%(6) = T%(6) = ((T%(1)+T%(3)+T%(5)+T%(7)+T%(9)+T%(11)) = -4)
|
|
Pass%(7) = T%(7) = ((T%(2) EOR T%(3)))
|
|
Pass%(8) = T%(8) = ((NOT T%(7) OR (T%(5) AND T%(6))))
|
|
Pass%(9) = T%(9) = ((T%(1)+T%(2)+T%(3)+T%(4)+T%(5)+T%(6)) = -3)
|
|
Pass%(10) = T%(10) = (T%(11) AND T%(12))
|
|
Pass%(11) = T%(11) = ((T%(7)+T%(8)+T%(9)) = -1)
|
|
Pass%(12) = T%(12) = ((T%(1)+T%(2)+T%(3)+T%(4)+T%(5)+T%(6) + \
|
|
\ T%(7)+T%(8)+T%(9)+T%(10)+T%(11)) = -4)
|
|
|
|
CASE SUM(Pass%()) OF
|
|
WHEN -11:
|
|
PRINT "Near miss with statements ";
|
|
FOR stmt% = 1 TO 12
|
|
IF T%(stmt%) PRINT ; stmt% " ";
|
|
IF NOT Pass%(stmt%) miss% = stmt%
|
|
NEXT
|
|
PRINT "true (failed " ;miss% ")."
|
|
WHEN -12:
|
|
PRINT "Solution! with statements ";
|
|
FOR stmt% = 1 TO 12
|
|
IF T%(stmt%) PRINT ; stmt% " ";
|
|
NEXT
|
|
PRINT "true."
|
|
ENDCASE
|
|
|
|
NEXT try%
|
|
END
|