首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
猜数字游戏
[单选题]
猜数字游戏的过程是你输入一个4位数(数字选取0~9,不会重复),电脑会告诉你两个信息:A个数字和位置均正确,B个数字正确但位置错误。例如正确答案是7890你输入0789,电脑会告诉你0A4B,表示有0个数字和位置完全正确,但有4个数字正确但位置错误。现在牛妹猜了三次的结果分别是:1234=>0A4B,2341=>1A3B,3412=>2A2B,那么牛妹最少还要猜____次才能保证一定得到4A0B的结果。
0
1
2
3
4
5
查看答案及解析
添加笔记
邀请回答
收藏(817)
分享
39个回答
添加回答
19
推荐
SunburstRun
3次
经过分析,只有可能是以下四种情况
2 4 1 3
3 1 4 2
3 4 2 1
4 3 1 2
现在考虑是否可以知询问一次就得到答案。
A+B的总数量肯定无法提供额外的信息。
所以我们只能通过0A,1A,2A,3A,4A来获取信息。
如果要达到3A,则只能至少猜一个1,2,3,4以外的数字。
这样的话,这个位置就废掉了,没啥意义。
所以我们只能通过0A,1A,2A,4A分别区分四种情况
如果用到4A, 如猜2 4 1 3
2 4 1 3 => 2A
3 1 4 2 => 0A
3 4 2 1 => 1A
4 3 1 2 => 1A
无法区分两个1A的情况,由对称性,猜其他三个类似。
所以我们至少再猜两次才能知道答案。
所以我们至少再猜三次才能保证得到4A
编辑于 2015-08-24 08:01:16
回复(11)
2
Phoenixcwx
首先我们要看他之前的输入是很有规律的
1、1234 :0个位置对
2、2341 :1个位置对
3、3412 :2个位置对
越看越不对,一想,发现这三个数每个位置的数都不一样。这样一定隐含了这么一条隐含信息:
(4、4123 :这个序列一定也是只有一个位置对)我们把总结出来的这四条当作条件继续做题:
我们从现有的最多位置正确的序列 3412出发,分别假设 34位置正确 31位置正确32位置正确41位置正确42位置正确12位置正确6种假设,现在逐一给分析:
假设34正确则序列只能是3421而这个序列,带入条件2和条件4进行验证,发现有可能,3421列入备选
假设31位置正确则序列只能是3214将这个序列代入条件2和条件4进行验证,发现有冲突,3214淘汰
。。。。。
这样逐一验证得出最终有可能的序列只能是:3421 2413 和4312
我假设这个题是想这么考的。但是想到输入之后又会有新的提示信息会给出更多的提示信息后就觉得这个提出的有点问题了,不如直接问有几种可能的序列方式。
发表于 2015-09-21 17:31:08
回复(0)
1
四月是木鱼的满分作文
我这种方法是假设法,说的可能有点啰嗦,但是跟其它人用的方法不一样
观察题目给的线索1234 2341 3412 仔细观察可得
4123能配合题目给的线索占尽4个位置中每个位置的每一种可能
所以我们假设我们第一次输入的是4123
因为在输入2341的时候有一个数字一定是正确的
我们在假设2位置是正确的,在2341中2位置是正确的情况下,3412中23是错误的
且3412中41肯定是正确的,所以可以得到在这种假设的情况下正确数字是2413
那么在我们假设2位置是正确的情况下,我们输入的4123一定会得到0A4B
同理我们再假设3、4、1是正确的情况,按照上述方法
能得到当输入2341情况下2正确或3正确的时候输入4123一定会得到0A4B,41是正确的情况下一定会得到1A3B
假设我们得到的是0A4B那么2341中2位置一定是正确的,只需再猜输入2000货0300判断是2正确还是3正确即可
同理得到的是
1A3B一样
那么这样做能举尽所有的可能性,且已经输入2次。
那么因为前2次只是帮助我们得到正确答案,第三次才是输入正确答案得到4A0B
编辑于 2017-04-18 16:10:54
回复(0)
1
andefjx
思路前面已经有人写得很详细了,我来补充一个例子
首先根据现有的三个输出,可以断定最终结果一定是2413/3142/3421/4312中的一个
以正解为
2413
为例:
1)再猜第一次,猜3142,输出0A4B,那么正解一定不会是3421或4312,因为它俩作为正解时,3142的输出是1A3B。那么只剩2413可选,再猜一次就中。
2)再猜第一次,猜3421,输出1A3B,那么正解一定不会是4312,因为它作为正解时,3421的输出是0A4B。那么正解从3142与2413中选,最多再猜两次就中。
3)再猜第一次,猜4312,输出1A3B,那么正解一定不会是3421,因为它作为正解时,4312的输出是0A4B。那么正解从3142与2413中选,最多再猜两次就中。
4)如果人品爆发,猜第一次就猜中2413,那也没什么好说的了。
对于上述的情况1)~3),猜3次是最稳妥的,一定可以猜到正确结果。
编辑于 2016-04-20 14:27:55
回复(0)
93
小梦
上面的分析都比较复杂,有个简单点的想法。
经过分析,结果只有可能是以下四种情况:
2413、4312、3142、3421
那么不管结果是多少,
我们只要判断第一位数是几。
比如先输入3567,
出现1A0B的话,那么结果就在3142,3421中,保证正确的话,需要共3次。
如果出现0A0B,那么结果就在2413,4312.为保证正确,也是需要3次。
发表于 2016-03-24 20:38:49
回复(11)
32
DQ_DM
分析后的结果只可能是2413、4312、3142、3421,那么我们接下来肯定要从这几个数里面猜。
假设最后的结果是3421。
(1) 我们先猜2413,会提示1A,那么就可以排除结果是3142的可能(如果是,2413会提示0A),只可能是4312和3412,那么我们猜2次或者3次就可以得到正确结果;
(2) 如果我们先猜4312,会提示0A,那么就可以排除2413和3142,只剩下3421,这样我们只需猜2次就可以确定。
(3) 如果我们先猜3142,会提示1A,那么就可以排除2413,这样我们只需猜2次或3次就可以确定。
(4) 如果我们先猜3421,会提示4A,这样我们只需猜1次就可以确定。
综上,我们要猜结果是3421,至少要猜3次就一定能保证。
同理,猜结果是2413、4312、3142也一样。
发表于 2015-08-26 11:04:39
回复(3)
8
Hei$enberg
我来添加一个简单点的解析,因为
3412=>2A2B,所以3412这个组合必然有两个位置交换一下就可以得到正确的答案。
如果我们猜4312。那么结果可能会有
1. 4A0B=>直接的出结果
2. 0A4B=>直接的出结果
3. 1A3B=>这时可知道3412中前两个数的位置一个正确一个错误,
我们已经知道3412中1和2有一个位置是正确的,且2314中
3的位置肯定不正确。
假设3412中1是正确的,则
可以推出2341中2是正确的位置,从而可知3412中41是正确的
假设3412中2是正确的,则可以推出2341中4是正确的位置,从而可以3412中42是正确的
于是我们可以再调换3412中13或23的位置,看看哪一个可以得到4A0B。
因此猜3次一定可以猜出正确的结果
发表于 2015-08-30 16:14:22
回复(1)
3
李飚
四个数字都是对的,不能和1234相同,必须有一个数字和2341重合,3412中必须有两个数字位置不变,综合上述只剩下4种情况,只需要移动三次。
发表于 2019-10-30 09:36:42
回复(0)
3
风之千里
不觉得题目就是个错的么
发表于 2016-08-21 23:39:47
回复(0)
2
寂寞的小车
终于理解了!!
四个可能结果。
猜一次,可能还剩俩可能结果,再猜一次知道结果是什么了。
第三次是牛妹儿把正确结果输进去为了得到4A0B。
发表于 2016-10-03 14:42:16
回复(0)
2
米兰的小铁匠114
发表于 2016-08-04 09:23:50
回复(0)
1
一碗123
1234=>0A4B,2341=>1A3B,3412=>2A2B的话,直接可以分析出后两位是2,1,只要再输一次就行了。2341是1A3B的话,假设1A是2的位置正确,那么3412就不可能是2A,同理1A也不可能是3和4,所以1A3B中数字位置正确的只能是1,所以末位一定是1。3412是2A2B,那么假设3是数字位置正确,那么3412应该是4A,所以倒数第二位只能是2。所以再来一次就行啊。
发表于 2022-08-24 18:45:41
回复(0)
1
bene-yan
不是3412已经2A2B了吗,说明有两个数字已经正确且位置正确,另外两个数字也是正确的只不过位置不正确,如果交换其中两个数字,如果正好交换的是位置不正确的两个数字,不就4A0B了吗,这样最少一次吧?
发表于 2020-10-11 10:57:50
回复(0)
1
妮妮123
2413 4312 3142 3421
发表于 2017-08-16 18:03:46
回复(0)
0
彼岸落幕
我的答案是两次,大家帮忙看看对不对哈。
由之前信息,可知结果只能为以下四种:
2 4 1 3
3 1 4 2
3 4 2 1
4 3 1 2
然后,牛妹下次猜测 2 4 1 1 ,
与之前四种情况分别有 3A 0A 2A 1A ,
得到了最终答案,再猜测一次就行。
ps,这些猜测应该都行:
2312、2411、3122、3342
3423、3441、4112、4413
编辑于 2020-09-24 12:57:05
回复(1)
0
隐X1
A1 2 4 1 3
A2 4 3 1 2
A3 3 1 4 2
A4 3 4 2 1
1.通过X X 1 X(X>4)判断是A1,A2还是A3,A4
2.通过2 X X X
判断是A1还是A2,或者
通过X 1 X X
判断是A3还是A4
3.输入正确答案得到4A0B
发表于 2020-07-16 11:30:24
回复(0)
0
唯有云缱绻
既然是智商题,至少,。。。不应该是1次吗
发表于 2020-03-14 12:36:02
回复(0)
0
地狱
我是智商有问题吗 我看不懂解析 自闭- -!
发表于 2019-11-26 13:53:03
回复(0)
0
∝跌跌撞撞
根据提示 2341 一位正确 3412 两位正确,我们分别假设 2341中的每一位为正确的情况,假设2正确,根据3412两位正确,我们可以猜测2413 查看是否全部正确 类推 假设2341中3正确时 猜3241 ,假设2341中 4正确时,猜2431 ,假设 2341中1正确时,猜2314。这样4次是否能成??
发表于 2019-04-04 10:56:52
回复(0)
0
磷砂
这个让我想到了Windows自带的小游戏
发表于 2018-08-17 13:41:20
回复(0)
0
../小豪
从已知条件得出可能有四个答案,猜三次全错的话第四次可以得到正确答案。
编辑于 2017-10-18 10:25:46
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
数学运算
来自:
阿里巴巴2016研发工...
难度:
39条回答
817收藏
16002浏览
热门推荐
相关试题
34的17次方 对6取余, 结果是多少?
数学运算
评论
(43)
来自
人人网2015研发笔试卷E
87的100次幂除以7的余数是多少?
数学运算
评论
(35)
来自
搜狐2013校招研发工程...
赛马,至少需要几轮比赛才能得出前三...
产品
运营
数学运算
评论
(8)
Linux下两个进程可以同时打开同...
Linux
评论
(68)
来自
阿里巴巴2016研发工程...
内存里创建了多少个CSomethi...
C++
C语言
评论
(75)
来自
阿里巴巴2016研发工程...
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题