All about flooble | fun stuff | Get a free chatterbox | Free JavaScript | Avatars
 perplexus dot info

 Logic Test (Posted on 2004-12-19)
Answer each of the 8 questions with a letter from A to D. The word "answer" in the test refers to YOUR answer, not some hypothetical "best" answer.

Score 1 point for each question answered correctly, 0 otherwise.

Keep re-taking the test, trying to get the highest possible score. (Of course you must know what the highest possible score is in order to correctly score the last question!)

(1) The next question with the same answer as this one is:
(A) 2 (B) 3 (C) 4 (D) 5

(2) The first question with answer C is:
(A) 1 (B) 2 (C) 3 (D) 4

(3) The last question with answer A is:
(A) 5 (B) 6 (C) 7 (D) 8

(4) The number of questions with answer D is:
(A) 1 (B) 2 (C) 3 (D) 4

(5) The answer occuring the most is: (if tied, first alphabetically)
(A) A (B) B (C) C (D) D

(6) The first question with the same answer as the question following it is:
(A) 2 (B) 3 (C) 4 (D) 5

(7) The answer occuring the least is: (if tied, last alphabetically)
(A) A (B) B (C) C (D) D

(8) The highest possible score on this test is:
(A) 5 (B) 7 (C) 6 (D) 8

 See The Solution Submitted by Jim Rating: 3.6250 (8 votes)

Comments: ( Back to comment list | You must be logged in to post comments.)
 My QB Program | Comment 2 of 13 |
(In reply to Brute force by VB program by Penny)

I got the same answer as Penny, using the following QuickBasic program.  As it is looking for the highest scoring set, it assumes that the one currently being evaluated is in fact the highest, as indeed it will be when chosen, and if it's not chosen, then it doesn't matter.

DATA 2345,1234,5678,1234,abcd,2345,abcd,5768
FOR i = 1 TO 8: READ choices\$(i): NEXT

FOR q1 = 1 TO 4
q(1) = q1
FOR q2 = 1 TO 4
q(2) = q2
FOR q3 = 1 TO 4
q(3) = q3
FOR q4 = 1 TO 4
q(4) = q4
FOR q5 = 1 TO 4
q(5) = q5
FOR q6 = 1 TO 4
q(6) = q6
FOR q7 = 1 TO 4
q(7) = q7
FOR q8 = 1 TO 4
q(8) = q8
tot = 0
FOR q = 1 TO 8
ans\$ = MID\$(choices\$(q), q(q), 1)
SELECT CASE q
CASE 1
good = 1
FOR i = 2 TO VAL(ans\$) - 1
IF q(i) = q(1) THEN good = 0: EXIT FOR
NEXT
IF q(VAL(ans\$)) <> q(1) THEN good = 0
IF good THEN
tot = tot + 1
ELSE
REM
END IF
CASE 2
good = 1
FOR i = 1 TO VAL(ans\$) - 1
IF q(i) = 3 THEN good = 0: EXIT FOR
NEXT
IF q(VAL(ans\$)) <> 3 THEN good = 0
IF good THEN
tot = tot + 1
END IF
CASE 3
good = 1
FOR i = 8 TO VAL(ans\$) + 1 STEP -1
IF q(i) = 1 THEN good = 0: EXIT FOR
NEXT
IF q(VAL(ans\$)) <> 1 THEN good = 0
IF good THEN tot = tot + 1
CASE 4
numD = 0
FOR i = 1 TO 8
IF q(i) = 4 THEN numD = numD + 1
NEXT
IF numD = VAL(ans\$) THEN tot = tot + 1
CASE 5
aArray(1) = 0: aArray(2) = 0: aArray(3) = 0: aArray(4) = 0
FOR i = 1 TO 8
aArray(q(i)) = aArray(q(i)) + 1
NEXT
most = 0: which = 0
FOR i = 1 TO 4
IF aArray(i) > most THEN
most = aArray(i)
which = i
END IF
NEXT
IF which > 0 THEN
IF ans\$ = MID\$("abcd", which, 1) THEN tot = tot + 1
END IF
CASE 6
rslt = 0
FOR i = 1 TO 7
IF q(i) = q(i + 1) THEN rslt = i: EXIT FOR
NEXT
IF rslt = VAL(ans\$) THEN tot = tot + 1
CASE 7
least = 9: which = 0
FOR i = 4 TO 1 STEP -1
IF aArray(i) < least THEN
least = aArray(i)
which = i
END IF
NEXT
IF ans\$ = MID\$("abcd", which, 1) THEN tot = tot + 1

CASE 8
IF VAL(ans\$) = tot + 1 THEN tot = tot + 1
END SELECT

NEXT
IF tot > maxTot THEN
maxTot = tot
FOR i = 1 TO 8
best(i) = q(i)
NEXT
END IF
NEXT
NEXT
NEXT
NEXT
NEXT
NEXT
NEXT
NEXT
FOR i = 1 TO 8
PRINT MID\$("abcd", best(i), 1);
NEXT
PRINT maxTot

resulting in:

I reran it, modified to find all 7's, but this was the only one.

 Posted by Charlie on 2004-12-19 17:52:56

 Search: Search body:
Forums (0)