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.
After choosing the 8 answers score the test by comparing each question with your answers.
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
(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:
cadcddba 7
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 |