-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathback-20q-backmod9,15-indet.ch
131 lines (121 loc) · 5.01 KB
/
back-20q-backmod9,15-indet.ch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
@x
@ ``9. The sum of all question numbers whose answers are correct and the same as
this one is:
(A)~$\in[59\dts62]$ (B)~$\in[52\dts55]$ (C)~$\in[44\dts49]$
(D)~$\in[59\dts67]$ (E)~$\in[44\dts53]$''
@<Cases for the big...@>=
case pack(0,9,A): case pack(0,9,B): case pack(0,9,C): case pack(0,9,D):
case pack(0,9,E):
case pack(1,9,A): case pack(1,9,B): case pack(1,9,C): case pack(1,9,D):
case pack(1,9,E):@+goto defer;
@ @<Cases for the def...@>=
case pack(0,9,A): case pack(0,9,B): case pack(0,9,C): case pack(0,9,D):
case pack(0,9,E):
case pack(1,9,A): case pack(1,9,B): case pack(1,9,C): case pack(1,9,D):
case pack(1,9,E): for (j=0,i=1;i<=20;i++)
if ((o,falsity[i]==0)&&(o,mem[i]==(1<<x))) j+=i;
switch (x) {
case A: i=(j>=59 && j<=62);@+break;
case B: i=(j>=52 && j<=55);@+break;
case C: i=(j>=44 && j<=49);@+break;
case D: i=(j>=59 && j<=67);@+break;
case E: i=(j>=44 && j<=53);@+break;
}
if (!u && !i) goto b5;
if (u && i) goto b5;@+break;
@y
@ ``9. The sum of all question numbers whose answers are correct and the same as
this one is:
(A)~$\in[59\dts62]$ (B)~$\in[52\dts55]$ (C)~$\in[44\dts49]$
(D)~$\in[59\dts67]$ (E)~$\in[39\dts43]$''
@<Cases for the big...@>=
case pack(0,9,A): case pack(0,9,B): case pack(0,9,C): case pack(0,9,D):
case pack(0,9,E):
case pack(1,9,A): case pack(1,9,B): case pack(1,9,C): case pack(1,9,D):
case pack(1,9,E):@+goto defer;
@ @<Cases for the def...@>=
case pack(0,9,A): case pack(0,9,B): case pack(0,9,C): case pack(0,9,D):
case pack(0,9,E):
case pack(1,9,A): case pack(1,9,B): case pack(1,9,C): case pack(1,9,D):
case pack(1,9,E): for (j=0,i=1;i<=20;i++)
if ((o,falsity[i]==0)&&(o,mem[i]==(1<<x))) j+=i;
switch (x) {
case A: i=(j>=59 && j<=62);@+break;
case B: i=(j>=52 && j<=55);@+break;
case C: i=(j>=44 && j<=49);@+break;
case D: i=(j>=59 && j<=67);@+break;
case E: i=(j>=39 && j<=43);@+break;
}
if (!u && !i) goto b5;
if (u && i) goto b5;@+break;
@z
@x
@ ``15. The set of odd-numbered questions with answer A is:
(A)~$\{7\}$ (B)~$\{9\}$ (C)~not $\{11\}$ (D)~$\{13\}$ (E)~$\{15\}$''
In the falsifying case,
I note that question~3 has been treated earlier in the ordering.
@<Cases for the big...@>=
case pack(0,15,A): case pack(0,15,E): goto bad;
case pack(0,15,B): force(9,A);@+deny(11,A);@+deny(13,A);@+goto odd_denials;
case pack(0,15,D): deny(9,A);@+deny(11,A);@+force(13,A);@+goto odd_denials;
odd_denials: deny(1,A);@+deny(3,A);@+deny(5,A);@+deny(7,A);
deny(17,A);@+deny(19,A);@+goto okay;
case pack(1,15,A): case pack(1,15,E): goto okay;
case pack(0,15,C): case pack(1,15,B): case pack(1,15,D):
if (o,mem[3]==AA) goto okay;@+goto defer;
case pack(1,15,C): goto defer;
@ @<Cases for the def...@>=
case pack(1,15,B):@+if ((o,mem[9]==AA)&&(o,mem[11]!=AA)&&(o,mem[13]!=AA))
goto test_odd; break;
case pack(0,15,C): case pack(1,15,C):@+if ((o,mem[1]!=AA)&&(o,mem[3]!=AA)&&@|
(o,mem[5]!=AA)&&(o,mem[7]!=AA)&&(o,mem[9]!=AA)&&(o,mem[11]==AA)&&@|
(o,mem[13]!=AA)&&(o,mem[17]!=AA)&&(o,mem[19]!=AA))@+goto b5;@+break;
case pack(1,15,D):@+if ((o,mem[9]!=AA)&&(o,mem[11]!=AA)&&(o,mem[13]==AA))
goto test_odd; break;
test_odd:@+if ((o,mem[1]!=AA)&&(o,mem[5]!=AA)&&(o,mem[7]!=AA)&&@|
(o,mem[17]!=AA)&&(o,mem[19]!=AA)) goto b5;
break;
@y
@ ``15. The set of odd-numbered questions with answer A is:
(A)~$\{7\}$ (B)~$\{9\}$ (C)~$\{11\}$ (D)~$\{13\}$ (E)~$\{15\}$''
In the falsifying case,
I note that question~3 has been treated earlier in the ordering.
@<Cases for the big...@>=
case pack(0,15,A): case pack(0,15,E): goto bad;
case pack(0,15,B): force(9,A);@+deny(11,A);@+deny(13,A);@+goto odd_denials;
case pack(0,15,C): deny(9,A);@+force(11,A);@+deny(13,A);@+goto odd_denials;
case pack(0,15,D): deny(9,A);@+deny(11,A);@+force(13,A);
odd_denials: deny(1,A);@+deny(3,A);@+deny(5,A);@+deny(7,A);
deny(17,A);@+deny(19,A);@+goto okay;
case pack(1,15,A): case pack(1,15,E): goto okay;
case pack(1,15,B): case pack(1,15,C): case pack(1,15,D):
if (o,mem[3]==AA) goto okay;@+goto defer;
@ @<Cases for the def...@>=
case pack(1,15,B):@+if ((o,mem[9]==AA)&&(o,mem[11]!=AA)&&(o,mem[13]!=AA))
goto test15; break;
case pack(1,15,C):@+if ((o,mem[9]!=AA)&&(o,mem[11]==AA)&&(o,mem[13]!=AA))
goto test15; break;
case pack(1,15,D):@+if ((o,mem[9]!=AA)&&(o,mem[11]!=AA)&&(o,mem[13]==AA))
goto test15; break;
test15:@+if ((o,mem[1]!=AA)&&(o,mem[5]!=AA)&&(o,mem[7]!=AA)&&@|
(o,mem[17]!=AA)&&(o,mem[19]!=AA)) goto b5;
break;
@z
@x
difficulties,'' obviously needs some special consideration. Discussion in
my book shows that option (D) is always false. I assume here that (E) is also
@y
difficulties,'' obviously needs some special consideration. I assume here for
variety that option (D) is always true. And I assume here that (E) is
@z
@x
case pack(0,20,D): case pack(0,20,E): goto bad;
case pack(1,20,A): case pack(1,20,B): case pack(1,20,C):
if (score!=18+x) goto okay;@+goto bad;
case pack(1,20,D): case pack(1,20,E): goto okay;
@y
case pack(1,20,D): case pack(0,20,E): goto bad;
case pack(1,20,A): case pack(1,20,B): case pack(1,20,C):
if (score!=18+x) goto okay;@+goto bad;
case pack(0,20,D): case pack(1,20,E): goto okay;
@z