查看: 1073|回复: 6

[IQ风暴] 猜数字2

转载  简洁模式
发表于 2022-5-27 21:24:33 | 发自安卓客户端 | 显示全部楼层
现给出四数为2A2B。问:最优解的最坏情况为几次?请给出推演过程。
1 | 发表于 2022-5-28 14:12:53 | 显示全部楼层
在4个数不相同时,对于2A2B,首先会考虑交换任意两个数字,
1、如果交换的是2B,1次;
2、如果交换的是2A,变为4B,即可猜出最优解,2次;
3、如果交换的是1个A1个B(我们记为a1,b1):
第1次,变为1A3B,说明交换的(未交换的)里面有一个是A,需要确定交换的(未交换的)里面哪一个是A,哪一个是B;
第2次,在原先2A2B的基础上,考虑交换第1次里交换的其中一个数和未交换里的一个数(我们把未交换的数记为a2,b2):
此时,若恰好交换的是2B,则2次得出最优解;
若交换的是2A,则3次得出最优解;
若交换的是a2,b1,变为1A3B,有两种可能。若把b1,b2判断成2A,则第3次输入错误,得4B,需4次得出最优解;若判断正确,则只需3次;
若交换的是a1,b2,同上。
综上,最优解的最坏情况为4次。
| 发表于 2022-5-28 16:44:51 | 2022-5-28 16:46编辑 | 发自安卓客户端 | 显示全部楼层
给出四数为2a2b,可能存在的情况有六种,楼上每次只交换两个数,效率较低,应每次尽可能多变一些。(为此,甚至可以引入一些已经排除的数)
假设这四数是1234,我第一次猜测1453,然后列出所有的可能性:
2134:3B
3214:3B
4231:3B
1243:2A1B
1432:2A1B
1324:1A2B
这样就可以至少排除一半情况
假设第一次得到最差的结果3B,
我再输入4531
然后列出可能性:
2134:1A2B
3214:3B
4231:3A
然后就能选出来了
所以最多要三次
登录帐号可查看完整回帖内容
尚未登录
您需要登录后才可以回帖 登录 | 加入学院