题目:1-20的两个数把和告诉A,积告诉B,A说不知道是多少,B也说不知道,这时A说我知道了,B说我也知道了。
1~20的 2个数 x 、y
a=x+y ,b=x*y;
1~20之间的所有整数为:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20;
1.A为什么说不知道?
因为x、y的和有n(这个n是个具体的值)种重复项的结果,所有A无法判断x、y的具体值。
如 A=4;但无法判断:A=3+1 还是A=2+2;
得出A的x、y和的重复组合>=2;
2. B说不知道,(同理)
有重复项 B=10;B=2*5 或 B=1*10;
得出B的x、y积的重复组合>=2;
3.B说不知道,为什么A说自己知道了?
以A的角度思考:A本身知道a的值,但因为有重复项,则表明无法确定具体的x、y;但通过B说不知道,表明B的x*y也有重复项,则可以通过A的范围与B的范围的交集,在交集中的值。
1.当x=y; (交集太多,无法具体确定)
A的和
Sum 2 -> 1
Sum 3 -> 1
Sum 4 -> 2
Sum 5 -> 2
Sum 6 -> 3
Sum 7 -> 3
Sum 8 -> 4
Sum 9 -> 4
Sum 10 -> 5
Sum 11 -> 5
Sum 12 -> 6
Sum 13 -> 6
Sum 14 -> 7
Sum 15 -> 7
Sum 16 -> 8
Sum 17 -> 8
Sum 18 -> 9
Sum 19 -> 9
Sum 20 -> 10
Sum 21 -> 10
Sum 22 -> 10
Sum 23 -> 9
Sum 24 -> 9
Sum 25 -> 8
Sum 26 -> 8
Sum 27 -> 7
Sum 28 -> 7
Sum 29 -> 6
Sum 30 -> 6
Sum 31 -> 5
Sum 32 -> 5
Sum 33 -> 4
Sum 34 -> 4
Sum 35 -> 3
Sum 36 -> 3
Sum 37 -> 2
Sum 38 -> 2
Sum 39 -> 1
Sum 40 -> 1
B的积
Product 1 -> 1
Product 2 -> 1
Product 3 -> 1
Product 4 -> 2
Product 5 -> 1
Product 6 -> 2
Product 7 -> 1
Product 8 -> 2
Product 9 -> 2
Product 10 -> 2
Product 11 -> 1
Product 12 -> 3
Product 13 -> 1
Product 14 -> 2
Product 15 -> 2
Product 16 -> 3
Product 17 -> 1
Product 18 -> 3
Product 19 -> 1
Product 20 -> 3
Product 21 -> 1
Product 22 -> 1
Product 24 -> 3
Product 25 -> 1
Product 26 -> 1
Product 27 -> 1
Product 28 -> 2
Product 30 -> 3
Product 32 -> 2
Product 33 -> 1
Product 34 -> 1
Product 35 -> 1
Product 36 -> 4
Product 38 -> 1
Product 39 -> 1
Product 40 -> 3
Product 42 -> 2
Product 44 -> 1
Product 45 -> 2
Product 48 -> 3
Product 49 -> 1
Product 50 -> 1
Product 51 -> 1
Product 52 -> 1
Product 54 -> 2
Product 55 -> 1
Product 56 -> 2
Product 57 -> 1
Product 60 -> 4
Product 63 -> 1
Product 64 -> 2
Product 65 -> 1
Product 66 -> 1
Product 68 -> 1
Product 70 -> 2
Product 72 -> 3
Product 75 -> 1
Product 76 -> 1
Product 77 -> 1
Product 78 -> 1
Product 80 -> 3
Product 81 -> 1
Product 84 -> 2
Product 85 -> 1
Product 88 -> 1
Product 90 -> 3
Product 91 -> 1
Product 95 -> 1
Product 96 -> 2
Product 98 -> 1
Product 99 -> 1
Product 100 -> 2
Product 102 -> 1
Product 104 -> 1
Product 105 -> 1
Product 108 -> 2
Product 110 -> 1
Product 112 -> 2
Product 114 -> 1
Product 117 -> 1
Product 119 -> 1
Product 120 -> 3
Product 121 -> 1
Product 126 -> 2
Product 128 -> 1
Product 130 -> 1
Product 132 -> 1
Product 133 -> 1
Product 135 -> 1
Product 136 -> 1
Product 140 -> 2
Product 143 -> 1
Product 144 -> 3
Product 150 -> 1
Product 152 -> 1
Product 153 -> 1
Product 154 -> 1
Product 156 -> 1
Product 160 -> 2
Product 162 -> 1
Product 165 -> 1
Product 168 -> 1
Product 169 -> 1
Product 170 -> 1
Product 171 -> 1
Product 176 -> 1
Product 180 -> 3
Product 182 -> 1
Product 187 -> 1
Product 190 -> 1
Product 192 -> 1
Product 195 -> 1
Product 196 -> 1
Product 198 -> 1
Product 200 -> 1
Product 204 -> 1
Product 208 -> 1
Product 209 -> 1
Product 210 -> 1
Product 216 -> 1
Product 220 -> 1
Product 221 -> 1
Product 224 -> 1
Product 225 -> 1
Product 228 -> 1
Product 234 -> 1
Product 238 -> 1
Product 240 -> 2
Product 247 -> 1
Product 252 -> 1
Product 255 -> 1
Product 256 -> 1
Product 260 -> 1
Product 266 -> 1
Product 270 -> 1
Product 272 -> 1
Product 280 -> 1
Product 285 -> 1
Product 288 -> 1
Product 289 -> 1
Product 300 -> 1
Product 304 -> 1
Product 306 -> 1
Product 320 -> 1
Product 323 -> 1
Product 324 -> 1
Product 340 -> 1
Product 342 -> 1
Product 360 -> 1
Product 361 -> 1
Product 380 -> 1
Product 400 -> 1
2.当x!=y;
A的和:
Sum 3 -> 1
Sum 4 -> 1
Sum 5 -> 2
Sum 6 -> 2
Sum 7 -> 3
Sum 8 -> 3
Sum 9 -> 4
Sum 10 -> 4
Sum 11 -> 5
Sum 12 -> 5
Sum 13 -> 6
Sum 14 -> 6
Sum 15 -> 7
Sum 16 -> 7
Sum 17 -> 8
Sum 18 -> 8
Sum 19 -> 9
Sum 20 -> 9
Sum 21 -> 10
Sum 22 -> 9
Sum 23 -> 9
Sum 24 -> 8
Sum 25 -> 8
Sum 26 -> 7
Sum 27 -> 7
Sum 28 -> 6
Sum 29 -> 6
Sum 30 -> 5
Sum 31 -> 5
Sum 32 -> 4
Sum 33 -> 4
Sum 34 -> 3
Sum 35 -> 3
Sum 36 -> 2
Sum 37 -> 2
Sum 38 -> 1
Sum 39 -> 1
Sum 3 can be formed by numbers: 1 2
Sum 4 can be formed by numbers: 1 3
Sum 5 can be formed by numbers: 1 4 2 3
Sum 6 can be formed by numbers: 1 5 2 4
Sum 7 can be formed by numbers: 1 6 2 5 3 4
Sum 8 can be formed by numbers: 1 7 2 6 3 5
Sum 9 can be formed by numbers: 1 8 2 7 3 6 4 5
Sum 10 can be formed by numbers: 1 9 2 8 3 7 4 6
Sum 11 can be formed by numbers: 1 10 2 9 3 8 4 7 5 6
Sum 12 can be formed by numbers: 1 11 2 10 3 9 4 8 5 7
Sum 13 can be formed by numbers: 1 12 2 11 3 10 4 9 5 8 6 7
Sum 14 can be formed by numbers: 1 13 2 12 3 11 4 10 5 9 6 8
Sum 15 can be formed by numbers: 1 14 2 13 3 12 4 11 5 10 6 9 7 8
Sum 16 can be formed by numbers: 1 15 2 14 3 13 4 12 5 11 6 10 7 9
Sum 17 can be formed by numbers: 1 16 2 15 3 14 4 13 5 12 6 11 7 10 8 9
Sum 18 can be formed by numbers: 1 17 2 16 3 15 4 14 5 13 6 12 7 11 8 10
Sum 19 can be formed by numbers: 1 18 2 17 3 16 4 15 5 14 6 13 7 12 8 11 9 10
Sum 20 can be formed by numbers: 1 19 2 18 3 17 4 16 5 15 6 14 7 13 8 12 9 11
Sum 21 can be formed by numbers: 1 20 2 19 3 18 4 17 5 16 6 15 7 14 8 13 9 12 10 11
Sum 22 can be formed by numbers: 2 20 3 19 4 18 5 17 6 16 7 15 8 14 9 13 10 12
Sum 23 can be formed by numbers: 3 20 4 19 5 18 6 17 7 16 8 15 9 14 10 13 11 12
Sum 24 can be formed by numbers: 4 20 5 19 6 18 7 17 8 16 9 15 10 14 11 13
Sum 25 can be formed by numbers: 5 20 6 19 7 18 8 17 9 16 10 15 11 14 12 13
Sum 26 can be formed by numbers: 6 20 7 19 8 18 9 17 10 16 11 15 12 14
Sum 27 can be formed by numbers: 7 20 8 19 9 18 10 17 11 16 12 15 13 14
Sum 28 can be formed by numbers: 8 20 9 19 10 18 11 17 12 16 13 15
Sum 29 can be formed by numbers: 9 20 10 19 11 18 12 17 13 16 14 15
Sum 30 can be formed by numbers: 10 20 11 19 12 18 13 17 14 16
Sum 31 can be formed by numbers: 11 20 12 19 13 18 14 17 15 16
Sum 32 can be formed by numbers: 12 20 13 19 14 18 15 17
Sum 33 can be formed by numbers: 13 20 14 19 15 18 16 17
Sum 34 can be formed by numbers: 14 20 15 19 16 18
Sum 35 can be formed by numbers: 15 20 16 19 17 18
Sum 36 can be formed by numbers: 16 20 17 19
Sum 37 can be formed by numbers: 17 20 18 19
Sum 38 can be formed by numbers: 18 20
Sum 39 can be formed by numbers: 19 20
B的积
Product 2 -> 1
Product 3 -> 1
Product 4 -> 1
Product 5 -> 1
Product 6 -> 2
Product 7 -> 1
Product 8 -> 2
Product 9 -> 1
Product 10 -> 2
Product 11 -> 1
Product 12 -> 3
Product 13 -> 1
Product 14 -> 2
Product 15 -> 2
Product 16 -> 2
Product 17 -> 1
Product 18 -> 3
Product 19 -> 1
Product 20 -> 3
Product 21 -> 1
Product 22 -> 1
Product 24 -> 3
Product 26 -> 1
Product 27 -> 1
Product 28 -> 2
Product 30 -> 3
Product 32 -> 2
Product 33 -> 1
Product 34 -> 1
Product 35 -> 1
Product 36 -> 3
Product 38 -> 1
Product 39 -> 1
Product 40 -> 3
Product 42 -> 2
Product 44 -> 1
Product 45 -> 2
Product 48 -> 3
Product 50 -> 1
Product 51 -> 1
Product 52 -> 1
Product 54 -> 2
Product 55 -> 1
Product 56 -> 2
Product 57 -> 1
Product 60 -> 4
Product 63 -> 1
Product 64 -> 1
Product 65 -> 1
Product 66 -> 1
Product 68 -> 1
Product 70 -> 2
Product 72 -> 3
Product 75 -> 1
Product 76 -> 1
Product 77 -> 1
Product 78 -> 1
Product 80 -> 3
Product 84 -> 2
Product 85 -> 1
Product 88 -> 1
Product 90 -> 3
Product 91 -> 1
Product 95 -> 1
Product 96 -> 2
Product 98 -> 1
Product 99 -> 1
Product 100 -> 1
Product 102 -> 1
Product 104 -> 1
Product 105 -> 1
Product 108 -> 2
Product 110 -> 1
Product 112 -> 2
Product 114 -> 1
Product 117 -> 1
Product 119 -> 1
Product 120 -> 3
Product 126 -> 2
Product 128 -> 1
Product 130 -> 1
Product 132 -> 1
Product 133 -> 1
Product 135 -> 1
Product 136 -> 1
Product 140 -> 2
Product 143 -> 1
Product 144 -> 2
Product 150 -> 1
Product 152 -> 1
Product 153 -> 1
Product 154 -> 1
Product 156 -> 1
Product 160 -> 2
Product 162 -> 1
Product 165 -> 1
Product 168 -> 1
Product 170 -> 1
Product 171 -> 1
Product 176 -> 1
Product 180 -> 3
Product 182 -> 1
Product 187 -> 1
Product 190 -> 1
Product 192 -> 1
Product 195 -> 1
Product 198 -> 1
Product 200 -> 1
Product 204 -> 1
Product 208 -> 1
Product 209 -> 1
Product 210 -> 1
Product 216 -> 1
Product 220 -> 1
Product 221 -> 1
Product 224 -> 1
Product 228 -> 1
Product 234 -> 1
Product 238 -> 1
Product 240 -> 2
Product 247 -> 1
Product 252 -> 1
Product 255 -> 1
Product 260 -> 1
Product 266 -> 1
Product 270 -> 1
Product 272 -> 1
Product 280 -> 1
Product 285 -> 1
Product 288 -> 1
Product 300 -> 1
Product 304 -> 1
Product 306 -> 1
Product 320 -> 1
Product 323 -> 1
Product 340 -> 1
Product 342 -> 1
Product 360 -> 1
Product 380 -> 1
Product 2 can be formed by numbers: 1 2
Product 3 can be formed by numbers: 1 3
Product 4 can be formed by numbers: 1 4
Product 5 can be formed by numbers: 1 5
Product 6 can be formed by numbers: 1 6 2 3
Product 7 can be formed by numbers: 1 7
Product 8 can be formed by numbers: 1 8 2 4
Product 9 can be formed by numbers: 1 9
Product 10 can be formed by numbers: 1 10 2 5
Product 11 can be formed by numbers: 1 11
Product 12 can be formed by numbers: 1 12 2 6 3 4
Product 13 can be formed by numbers: 1 13
Product 14 can be formed by numbers: 1 14 2 7
Product 15 can be formed by numbers: 1 15 3 5
Product 16 can be formed by numbers: 1 16 2 8
Product 17 can be formed by numbers: 1 17
Product 18 can be formed by numbers: 1 18 2 9 3 6
Product 19 can be formed by numbers: 1 19
Product 20 can be formed by numbers: 1 20 2 10 4 5
Product 21 can be formed by numbers: 3 7
Product 22 can be formed by numbers: 2 11
Product 24 can be formed by numbers: 2 12 3 8 4 6
Product 26 can be formed by numbers: 2 13
Product 27 can be formed by numbers: 3 9
Product 28 can be formed by numbers: 2 14 4 7
Product 30 can be formed by numbers: 2 15 3 10 5 6
Product 32 can be formed by numbers: 2 16 4 8
Product 33 can be formed by numbers: 3 11
Product 34 can be formed by numbers: 2 17
Product 35 can be formed by numbers: 5 7
Product 36 can be formed by numbers: 2 18 3 12 4 9
Product 38 can be formed by numbers: 2 19
Product 39 can be formed by numbers: 3 13
Product 40 can be formed by numbers: 2 20 4 10 5 8
Product 42 can be formed by numbers: 3 14 6 7
Product 44 can be formed by numbers: 4 11
Product 45 can be formed by numbers: 3 15 5 9
Product 48 can be formed by numbers: 3 16 4 12 6 8
Product 50 can be formed by numbers: 5 10
Product 51 can be formed by numbers: 3 17
Product 52 can be formed by numbers: 4 13
Product 54 can be formed by numbers: 3 18 6 9
Product 55 can be formed by numbers: 5 11
Product 56 can be formed by numbers: 4 14 7 8
Product 57 can be formed by numbers: 3 19
Product 60 can be formed by numbers: 3 20 4 15 5 12 6 10
Product 63 can be formed by numbers: 7 9
Product 64 can be formed by numbers: 4 16
Product 65 can be formed by numbers: 5 13
Product 66 can be formed by numbers: 6 11
Product 68 can be formed by numbers: 4 17
Product 70 can be formed by numbers: 5 14 7 10
Product 72 can be formed by numbers: 4 18 6 12 8 9
Product 75 can be formed by numbers: 5 15
Product 76 can be formed by numbers: 4 19
Product 77 can be formed by numbers: 7 11
Product 78 can be formed by numbers: 6 13
Product 80 can be formed by numbers: 4 20 5 16 8 10
Product 84 can be formed by numbers: 6 14 7 12
Product 85 can be formed by numbers: 5 17
Product 88 can be formed by numbers: 8 11
Product 90 can be formed by numbers: 5 18 6 15 9 10
Product 91 can be formed by numbers: 7 13
Product 95 can be formed by numbers: 5 19
Product 96 can be formed by numbers: 6 16 8 12
Product 98 can be formed by numbers: 7 14
Product 99 can be formed by numbers: 9 11
Product 100 can be formed by numbers: 5 20
Product 102 can be formed by numbers: 6 17
Product 104 can be formed by numbers: 8 13
Product 105 can be formed by numbers: 7 15
Product 108 can be formed by numbers: 6 18 9 12
Product 110 can be formed by numbers: 10 11
Product 112 can be formed by numbers: 7 16 8 14
Product 114 can be formed by numbers: 6 19
Product 117 can be formed by numbers: 9 13
Product 119 can be formed by numbers: 7 17
Product 120 can be formed by numbers: 6 20 8 15 10 12
Product 126 can be formed by numbers: 7 18 9 14
Product 128 can be formed by numbers: 8 16
Product 130 can be formed by numbers: 10 13
Product 132 can be formed by numbers: 11 12
Product 133 can be formed by numbers: 7 19
Product 135 can be formed by numbers: 9 15
Product 136 can be formed by numbers: 8 17
Product 140 can be formed by numbers: 7 20 10 14
Product 143 can be formed by numbers: 11 13
Product 144 can be formed by numbers: 8 18 9 16
Product 150 can be formed by numbers: 10 15
Product 152 can be formed by numbers: 8 19
Product 153 can be formed by numbers: 9 17
Product 154 can be formed by numbers: 11 14
Product 156 can be formed by numbers: 12 13
Product 160 can be formed by numbers: 8 20 10 16
Product 162 can be formed by numbers: 9 18
Product 165 can be formed by numbers: 11 15
Product 168 can be formed by numbers: 12 14
Product 170 can be formed by numbers: 10 17
Product 171 can be formed by numbers: 9 19
Product 176 can be formed by numbers: 11 16
Product 180 can be formed by numbers: 9 20 10 18 12 15
Product 182 can be formed by numbers: 13 14
Product 187 can be formed by numbers: 11 17
Product 190 can be formed by numbers: 10 19
Product 192 can be formed by numbers: 12 16
Product 195 can be formed by numbers: 13 15
Product 198 can be formed by numbers: 11 18
Product 200 can be formed by numbers: 10 20
Product 204 can be formed by numbers: 12 17
Product 208 can be formed by numbers: 13 16
Product 209 can be formed by numbers: 11 19
Product 210 can be formed by numbers: 14 15
Product 216 can be formed by numbers: 12 18
Product 220 can be formed by numbers: 11 20
Product 221 can be formed by numbers: 13 17
Product 224 can be formed by numbers: 14 16
Product 228 can be formed by numbers: 12 19
Product 234 can be formed by numbers: 13 18
Product 238 can be formed by numbers: 14 17
Product 240 can be formed by numbers: 12 20 15 16
Product 247 can be formed by numbers: 13 19
Product 252 can be formed by numbers: 14 18
Product 255 can be formed by numbers: 15 17
Product 260 can be formed by numbers: 13 20
Product 266 can be formed by numbers: 14 19
Product 270 can be formed by numbers: 15 18
Product 272 can be formed by numbers: 16 17
Product 280 can be formed by numbers: 14 20
Product 285 can be formed by numbers: 15 19
Product 288 can be formed by numbers: 16 18
Product 300 can be formed by numbers: 15 20
Product 304 can be formed by numbers: 16 19
Product 306 can be formed by numbers: 17 18
Product 320 can be formed by numbers: 16 20
Product 323 can be formed by numbers: 17 19
Product 340 can be formed by numbers: 17 20
Product 342 can be formed by numbers: 18 19
Product 360 can be formed by numbers: 18 20
Product 380 can be formed by numbers: 19 20
进一步推理
假设:A知道A=5;x、y的组合 1-4、2-3;
B知道为B=6; 则x、y的组和1-6 、2-3;
A推断:A=5 若x、y为1-4 ;则B=4,且仅有一组,无重复项组合 ——pass
A=5时,仅有x、y为2-3 时,B=6, 有>=2的重复项组合
有一个核心点,A说不知道,B说不知道,A说知道,表明,这个值已经可以确定唯一。
如:A=26; x、y的值:6-20, 7- 19, 8-18, 9 -17, 10- 16, 11 -15, 12- 14;
以6-20为例,B=120;
当B=120,x、y的值为 6-20, 8- 15, 10- 12;
则6-20满足前提条件;
以7-19为例, B=153;
当B=153,x、y的值只能为 9-17;
则7-19不满足前提条件;
以8-18为例,B=144;
当B=144,x、y的值为8-18,9-16;
则8-18也满足前提条件
...........................
当有多个满足前提条件,也无法满足“唯一确定”及"B说不知道,为什么A说自己知道了?"所有要排除A=26;以此类推。
总结
本人未一 一具体演算,总体思路大概如此。
据搜索得知,组合结果为:2,3,2,4,9,20 三组。
c++代码
#include <iostream>
#include <vector>
#include <map>
using namespace std;
int main() {
vector<int> numbers(20);
for (int i = 0; i < 20; ++i) {
numbers[i] = i + 1;
}
// 记录每个和与积出现的次数
map<int, vector<int> > sumFrequencies;
map<int, vector<int> > productFrequencies;
for (int i = 0; i < 19; ++i) {
for (int j = i + 1; j < 20; ++j) {
int sum = numbers[i] + numbers[j];
int product = numbers[i] * numbers[j];
sumFrequencies[sum].push_back(i);
sumFrequencies[sum].push_back(j);
productFrequencies[product].push_back(i);
productFrequencies[product].push_back(j);
}
}
// 打印每个和与积的出现次数
for (map<int, vector<int> >::iterator it = sumFrequencies.begin(); it != sumFrequencies.end(); ++it) {
if (it->second.size() > 1) {
cout << "Sum " << it->first << " can be formed by numbers: ";
for (int num = 0; num < it->second.size(); ++num) {
cout << numbers[it->second[num]] << " ";
}
cout << endl;
}
}
for (map<int, vector<int> >::iterator it = productFrequencies.begin(); it != productFrequencies.end(); ++it) {
if (it->second.size() > 1) {
cout << "Product " << it->first << " can be formed by numbers: ";
for (int num = 0; num < it->second.size(); ++num) {
cout << numbers[it->second[num]] << " ";
}
cout << endl;
}
}
return 0;
}