首页 > 试题广场 >

A、B两人玩猜字游戏,游戏规则如下: A选定一个 [1,10

[单选题]
A、B两人玩猜字游戏,游戏规则如下:
A选定一个 [1,100]之间的数字背对B写在纸上,然后让B开始猜;如果B猜的偏小,A会提示B这次猜的偏小;一旦B某次猜的偏大,A就不再提示,此次之后B猜的偏小A也不会再提示,只回答猜对与否。请问:B至少要猜()次才能保证猜对?
  • 12
  • 13
  • 14
  • 15
其实就是等差为1的等差数列求和。 1+2+3+...+14>100 第一次猜14,大了的话,最坏的情况再猜13次。 小了的话,再猜27(14+13),大了的话,最坏的情况再猜12次。 小了的话,再猜39(14+13+12),大了的话,最坏的情况再猜11次 …
发表于 2016-03-28 10:04:32 回复(7)
这个和用两颗鸡蛋测试从几层能刚好摔破是同一个道理。
假设猜测了N次,刚开始选择N,
如果小于N,就从N开始一个一个往下猜
如果大于N,则从N+N-1猜
以此类推
如果猜N次,最多猜的数字范围为:N+N-1+N-2+N-3+....+2+1=(N+1)*N/2
所以1到100需要猜测14次
编辑于 2015-10-27 13:38:32 回复(1)
假设我们每次猜数都是猜大了,比如第一次猜数为10;那么如果大了的话,就会还要猜9次才能保证猜中;如果小了的话,继续猜一个数,保证在这个数猜大了的情况遇到的次数和前者一样,就只能猜19了。依次类推。。。。
假设第一次猜x,第二次则为x+(x-1),直到最后猜(x+x-1+x-2+...+1)>100
解得x=14
发表于 2015-07-13 10:48:24 回复(5)
首先,理解题目的意思:至少猜几次才能保证才对!关键词:至少和保证;至少的意思是,方法一定要选对,选对方法是至少的前提!保证的意思是,你的运气是最差的,在选取好的方法的前提下,必须猜最多的次数;好了,现在说一下我的方法:
首先猜十位:需要猜10,20,30,40,50,60,70,80,90;这里需要猜9次(如果猜到90,大了就猜90-100,小了就猜80-90)
然后猜个位,1,3,5,7,9,这里需要猜5次(并不需要从1-9挨个去猜);
所以综上,一共需要14次
编辑于 2017-08-14 11:39:23 回复(0)
假设要进过x次就能猜出来,则第一次最大可以猜x,否则如果猜了更大的数就无法保证x次以内可以猜出来。第二次最大可以猜x+x-1,因为第二次猜已经用了一次机会了,要在x-1次猜数中猜到。同理第三次猜x+x-1+x-2.....
(x+x-1+x-2+...+1)>100        x=14
发表于 2016-06-03 17:08:07 回复(1)
依旧没懂……
发表于 2015-12-31 20:29:38 回复(0)

至少猜14次才可以准确猜出这个数字,在这种策略下,乙猜的第一个数字是14。

数字所在区间为[1,100],乙在猜测数字时,存在以下三种可能性:

(1)直接猜中。

(2)猜测数字大于真实值。

(3)猜测数字小于真实值。

以下将分别针对这三种不同的情况进行分析。
第(1)种直接猜中的情况概率很低,只有百分之一,不具有代表意义。

第(2)种情况,乙猜测的数字的值比真实值大,此时没有提示,假设待猜测的数字的值为N2,乙猜测的数字的值为N1,很显然,在本情况下,N1>N2,此时,为了找到N2,只能逐一在[1,N1-1]之间进行猜测,即1<=N2<=N1-1。

第(3)种情况,会存在提示,假设待猜测的数字的值为N2,乙猜测的数字的值为N1,很显然,在本情况下,N1<N2,根据提示可知,可以继续在[N1+1,100]中选择另外的数N2,即N1+1<=N2<=100。

所以,
对于第(2)种情况,一共需要猜测的次数为N1-1+1=N1次(其中,N1-1表示需要在[1,N1-1]之间逐一取值,1表示进行第一次测试)。

对于第(3)种情况,如果第一次猜的数字小于真实值,但第二次猜的数字大于真实值,此时需要尝试的总次数是[N1+1,N2-1]的元素个数加2(加2是N2和N1本身猜用掉一次),即为N2-N1+1次,根据思想“每次猜错后,尝试猜测的总次数相等”,有N1=N2-N1+1,可知N2=2N1-1,增量为N1-1。类似地,前两次猜得偏小,但第三次猜大,尝试总次数为[N2+1,N3-1]的元素个数加3,即N3-N2+2,那么有N3-N2+2=N1,N3=N2+N1-2,增量为N1-2……类似地,前三次猜得偏小,但第四次猜大,尝试总次数为[N3+1,N4-1]的元素个数加4,即N4-1-N3-1+1+4=N4-N3+3,那么有N4-N3+3=N1,N4=N3+N1-3,增量为N1-3……依此类推,增量是随着猜测次数的增加而逐1地减少。
设最后一次猜测为k,则Nk=N1+(N1-1)+(N1-2)+…1,Nk是等于或大于100的第一个数,根据等差数列求和公式可以算出N1=14,N2=27,N3=39…(14,27,39,50, 60,69,77,84,90,95,99)。(因为N2=N1+N1-1、N3=N2+N1-2、N4=N3+N1-3……

所以,序列是14、27、39、50、60、69、77、84、90、95、99。

因为无论第几次猜大了,最终的总次数总是14。

编辑于 2018-07-18 16:27:38 回复(0)
总觉得这道题有问题:假设a写的100.按照最少次数来猜。①b猜50,偏小;②b猜75,偏小;③b猜87,偏小;④b猜93,偏小;⑤b猜96,偏小;⑥b猜98,偏小;⑦b猜99,偏小;⑧b肯定数字为100.
也就是说到此为止,只猜了8次而已~题目问的是b至少要猜多少次,我这里8次,可能还有更少的。
发表于 2016-03-16 19:16:27 回复(14)
C。14,27,39,50,60,69,77,84,90,95,99,102,104,105
最多能区分105个数字。
发表于 2014-12-31 18:32:03 回复(0)
10 20 30 40 50 60 70 80 90 9次
1 2 3 4 5 6 7 8 9
找 3 6 8 提问 3次
eg:93偏小 96偏小 98偏小 =99
 93偏小 96偏大 =94 95 问多一次 9+2+1=12
93偏大 = 91 92 即问多一次 =11次 
96偏小 =97 98 99 问多一次 98 就可以判断了 -》偏小=99 偏大=97 对即98
怎么算都是最多 9+3=12 次

算14次的不注重客观?
  



发表于 2020-06-23 11:01:51 回复(1)
使用二分查找思想吧
发表于 2017-09-07 23:18:29 回复(0)
假设我们每次猜数都是猜大了,比如第一次猜数为10;那么如果大了的话,就会还要猜9次才能保证猜中;如果小了的话,继续猜一个数,保证在这个数猜大了的情况遇到的次数和前者一样,就只能猜19了。依次类推。。。。
假设第一次猜x,第二次则为x+(x-1),直到最后猜(x+x-1+x-2+...+1)>100
解得x=14
发表于 2016-11-15 22:21:45 回复(0)
C
发表于 2015-05-15 11:56:57 回复(0)