請回答下面10個問題,你的回答應保證每題惟有你的選擇是正確的。
(1)第一個答案是b的問題是哪一個?
(a) 2 (b) 3 (c) 4 (d) 5 (e) 6
(2)恰好有兩個連續問題的答案是一樣的,它們是:
(a) 2,3 (b) 3,4 (c) 4,5 (d) 5,6 (e) 6,7
(3)本問題答案和哪一個問題的答案相同?
(a) 1 (b) 2 (c) 4 (d) 7 (e) 6
(4)答案是a的問題的個數是:
(a) 0 (b) 1 (c) 2 (d) 3 (e) 4
(5)本問題答案和哪一個問題的答案相同?
(a) 10 (b) 9 (c) 8 (d) 7 (e) 6
(6)答案是a的問題的個數和答案是什么的問題的個數相同?
(a) b (b) c (c) d (d) e (e) 以上都不是
(7) 按照字母順序,本問題的答案和下一個問題的答案相差幾個字母?
(a) 4 (b) 3 (c) 2 (d) 1 (e) 0 (注:a和b相差一個字母)
(8)答案是元音字母的問題的個數是:
(a) 2 (b) 3 (c) 4 (d) 5 (e) 6 (注:a和e是元音字母)
(9)答案是輔音字母的問題的個數是:
(a) 一個質數 (b) 一個階乘數 (c) 一個平方數 (d) 一個立方數 (e) 5的倍數
(10)本問題的答案是:
(a) a (b) b (c) c (d) d (e) e
很早之前貌似在一本數學趣味書上看過...當時沒能推出來...今天突然發現黑書上竟然也有這道題...為了好奇心...寫了個程序跑了一下...
可能有一些值得注意或者有歧義的地方,標注一下:
(1)題目要求“你的回答應保證每題惟有你的選擇是正確的”,我的理解是在某一個固定的答案下,不能有某題是兩個答案都符合的。
比如第二題,不能2,3,4都同一個答案。這樣的話第二題既能選a又能選b,不符合題意。(如果不按這種理解的話會跑出很多個答案來...)
(2)第七題中的“相差”一開始理解錯了...以為是a和b相差1,b和a就相差-1...于是第八題就選e了...最后發現這樣跑不出來...就修改了理解...
應該是比如選c,那么與c相差兩個字母的可以是a或者e...
最后跑出來的答案是:c d e b e e d c b a
目測好像是對的...
代碼如下:
1
#include<cstdio>
2
int i[11];
3
bool judge1()
4
{
5
if(i[1]==1&&i[2]==2) return 1;
6
if(i[1]==2&&i[3]==2&&i[2]!=2) return 1;
7
if(i[1]==3&&i[4]==2&&i[2]!=2&&i[3]!=2) return 1;
8
if(i[1]==4&&i[5]==2&&i[2]!=2&&i[3]!=2&&i[4]!=2)
9
return 1;
10
if(i[1]==5&&i[6]==2&&i[2]!=2&&i[3]!=2&&i[4]!=2&&i[5]!=2)
11
return 1;
12
return 0;
13
}
14
15
bool judge2()
16
{
17
bool flag;int k,j;
18
for(j=1;j<=5;j++)
19
if(i[2]==j&&i[j+1]==i[j+2]){
20
for(k=2,flag=1;k<=6;k++){
21
if(k==j+1) continue;
22
if(i[k]==i[k+1]){flag=0;break;}
23
}
24
if(flag) return 1;
25
}
26
return 0;
27
}
28
29
bool judge3()
30
{
31
if(i[3]==1&&i[3]==i[1]) return 1;
32
if(i[3]==2&&i[3]==i[2]) return 1;
33
if(i[3]==3&&i[3]==i[4]) return 1;
34
if(i[3]==4&&i[3]==i[7]) return 1;
35
if(i[3]==5&&i[3]==i[6]) return 1;
36
return 0;
37
}
38
39
bool judge4()
40
{
41
int cnt=0,k,j;
42
for(j=1;j<=10;j++)
43
if(i[j]==1)
44
cnt++;
45
for(k=1;k<=5;k++)
46
if(i[4]==k&&cnt==k-1)
47
return 1;
48
return 0;
49
}
50
51
bool judge5()
52
{
53
for(int j=1;j<=5;j++)
54
if(i[5]==j&&i[5]==i[11-j])
55
return 1;
56
return 0;
57
}
58
59
bool judge6()
60
{
61
int cnt[6]={0},k,j;bool flag;
62
for(j=1;j<=10;j++) cnt[i[j]]++;
63
for(j=1;j<=4;j++){
64
if(i[6]==j&&cnt[1]==cnt[1+j]){
65
for(k=2,flag=1;k<=5;k++){
66
if(k==1+j) continue;
67
if(cnt[1]==cnt[k]){flag=0;break;}
68
}
69
if(flag) return 1;
70
}
71
}
72
if(i[6]==5&&cnt[1]!=cnt[2]&&cnt[1]!=cnt[3]
73
&&cnt[1]!=cnt[4]&&cnt[1]!=cnt[5])
74
return 1;
75
return 0;
76
}
77
78
bool judge7()
79
{
80
if(i[7]==1&&i[8]==5) return 1;
81
if(i[7]==2&&i[8]==5) return 1;
82
if(i[7]==3&&(i[8]==1||i[8]==5)) return 1;
83
if(i[7]==4&&(i[8]==3||i[8]==5)) return 1;
84
if(i[7]==5&&i[8]==5) return 1;
85
return 0;
86
}
87
88
bool judge8()
89
{
90
int vowel=0,j;
91
for(j=1;j<=10;j++)
92
if(i[j]==1||i[j]==5)
93
vowel++;
94
for(j=1;j<=5;j++)
95
if(i[8]==j&&(vowel==j+1))
96
return 1;
97
return 0;
98
}
99
100
bool judge9()
101
{
102
int csnt=0,j;
103
for(j=1;j<=10;j++)
104
if(i[j]==2||i[j]==3||i[j]==4)
105
csnt++;
106
if(i[9]==1&&(csnt==2||csnt==3||csnt==5||csnt==7))
107
return 1;
108
if(i[9]==2&&(csnt==1||csnt==2||csnt==6))
109
return 1;
110
if(i[9]==3&&(csnt==0||csnt==1||csnt==4||csnt==9))
111
return 1;
112
if(i[9]==4&&(csnt==0||csnt==1||csnt==8))
113
return 1;
114
if(i[9]==5&&(csnt%5==0)) return 1;
115
return 0;
116
}
117
118
void print()
119
{
120
for(int j=1;j<=10;j++)
121
printf("%c ",i[j]+'a'-1);
122
puts("");
123
}
124
125
int main()
126
{
127
for(i[1]=1;i[1]<=5;i[1]++)
128
for(i[2]=1;i[2]<=5;i[2]++)
129
for(i[3]=1;i[3]<=5;i[3]++)
130
for(i[4]=1;i[4]<=5;i[4]++)
131
for(i[5]=1;i[5]<=5;i[5]++)
132
for(i[6]=1;i[6]<=5;i[6]++)
133
for(i[7]=1;i[7]<=5;i[7]++)
134
for(i[8]=1;i[8]<=5;i[8]++)
135
for(i[9]=1;i[9]<=5;i[9]++)
136
for(i[10]=1;i[10]<=5;i[10]++)
137
if(judge1()&&judge2()&&judge3()&&judge4()&&judge5()&&judge6()&&judge7()&&judge8()&&judge9())
138
print();
139
return 0;
140
}

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

132

133

134

135

136

137

138

139

140
