PRINT PRINT "シェリルの誕生日" PRINT PRINT "   14日 15日 16日 17日 18日 19日" PRINT "5月      ○   ○           ○" PRINT "6月 ○ ○" PRINT "7月 ○ ○" PRINT "8月 ○ ○    ○" PRINT PRINT "アルバートはシェリルの生まれた月を知っている。" PRINT "バーナードはシェリルの生まれた日を知っている。" PRINT DIM A(5,7) FOR i=1 TO 5 FOR j=1 TO 7 LET A(i,j) = 0 NEXT j NEXT i LET A(1,2) = 1 LET A(1,3) = 1 LET A(1,6) = 1 LET A(2,4) = 1 LET A(2,5) = 1 LET A(3,1) = 1 LET A(3,3) = 1 LET A(4,1) = 1 LET A(4,2) = 1 LET A(4,4) = 1 FOR i=1 TO 4 FOR j=1 TO 6 LET A(i,7) = A(i,7) + A(i,j) NEXT j NEXT i FOR i=1 TO 4 IF A(i,7) = 1 THEN FOR j=1 TO 6 IF A(i,j) = 1 THEN IF i=3 AND j=3 THEN PRINT " アルバートはすぐに判った。" PRINT " シェリルの誕生日が";i+4;"月";j+13;"日であることが。" END IF END IF NEXT j END IF NEXT i FOR j=1 TO 6 FOR i=1 TO 4 LET A(5,j) = A(5,j) + A(i,j) NEXT i NEXT j FOR j=1 TO 6 IF A(5,j) = 1 THEN FOR i=1 TO 4 IF A(i,j) = 1 THEN IF i=3 AND j=3 THEN PRINT " バーナードはすぐに判った。" PRINT " シェリルの誕生日が";i+4;"月";j+13;"日であることが。" END IF END IF NEXT i END IF NEXT j PRINT "アルバートが2人とも判らないと言ったのは、" PRINT "シェリルの誕生日は5月でも6月でもない、と言う意味だ。" PRINT DIM B(3,5) FOR i=1 TO 3 FOR j=1 TO 5 LET B(i,j) = 0 NEXT j NEXT i LET B(1,1) = 1 LET B(1,3) = 1 LET B(2,1) = 1 LET B(2,2) = 1 LET B(2,4) = 1 FOR i=1 TO 2 FOR j=1 TO 4 LET B(i,5) = B(i,5) + B(i,j) NEXT j NEXT i FOR i=1 TO 2 IF B(i,5) = 1 THEN FOR j=1 TO 4 IF B(i,j) = 1 THEN IF i=1 AND j=3 THEN PRINT " アルバートはその後すぐに判った。" PRINT " シェリルの誕生日が";i+6;"月";j+13;"日であることが。" END IF END IF NEXT j END IF NEXT i FOR j=1 TO 4 FOR i=1 TO 2 LET B(3,j) = B(3,j) + B(i,j) NEXT i NEXT j FOR j=1 TO 4 IF B(3,j) = 1 THEN FOR i=1 TO 2 IF B(i,j) = 1 THEN IF i=1 AND j=3 THEN PRINT "バーナードはその後すぐに判った。" PRINT "シェリルの誕生日が";i+6;"月";j+13;"日であることが。" END IF END IF NEXT i END IF NEXT j PRINT PRINT "バーナードが今判ったよと言ったのは、" PRINT "シェリルの誕生日は14日ではない、と言う意味だ。" PRINT DIM C(3,4) FOR i=1 TO 3 FOR j=1 TO 4 LET C(i,j) = 0 NEXT j NEXT i LET C(1,2) = 1 LET C(2,1) = 1 LET C(2,3) = 1 FOR i=1 TO 2 FOR j=1 TO 3 LET C(i,4) = C(i,4) + C(i,j) NEXT j NEXT i FOR i=1 TO 2 IF C(i,4) = 1 THEN FOR j=1 TO 3 IF C(i,j) = 1 THEN IF i=1 AND j=2 THEN PRINT "アルバートはその後すぐに判った。" PRINT "シェリルの誕生日が";i+6;"月";j+14;"日であることが。" END IF END IF NEXT j END IF NEXT i PRINT PRINT "アルバートはシェリルが生まれたのが7月であることを知っていたのだ。" PRINT "バーナードはシェリルの生まれた日が16日であることを知っていたのだ。" PRINT END