导航:首页 > 解决方法 > 最简单的猜数字方法

最简单的猜数字方法

发布时间:2022-09-06 11:33:09

‘壹’ 魔术猜数字方法

其实这个问题是很简单的。我就跟你说一下吧。首先魔术师让观众在纸上写好字,然后魔术师肯定会让这个写字的人把纸上所写的字给观众看。(魔术师肯定看不到的)。问题就出现了,难道他是真的有什么特异功能吗?错了!魔术师其实有一个内应的,这个人实现就在观众里面。然后当写字的人把所写的给他看后他会以手势给魔术师传递信息。这时候的观众都在看那张纸,,不会注意的。所以魔术师就轻而易举的知道了纸上所写的东西了。。希望这些回答能给你以帮助。

‘贰’ 猜数字的解法

求解猜数字游戏的策略通常有两个目标:一是保证在猜测次数限制下赢得游戏,二是使用尽量少的猜测次数。第一个目标追求的是最坏情况下的猜测次数最少,第二个目标追求的是平均情况下猜测次数最少。对于某些数码和数位的规则组合,这两个目标不能同时实现。例如,对于4个数位、6个数码的 Mastermind 游戏,平均猜测次数最少的策略需要平均 4.340 次,但最坏需要6次猜测;如果限制猜测次数最多为5次,则平均猜测次数最少的策略需要平均 4.341 次。
目前解法最少需要7次猜测,平均次数最少的解法由田中哲朗与1996年提出,平均次数为5.213次。
系统的猜测策略可分为三类:简单策略、启发式策略和最优策略。下面以标准规则(10个数码,4个数位,不含重复数字)为例,介绍这几类策略。这些策略也适用于其它规则变体。
这种策略非常直接——每次都猜可能答案中的第一个。例如,首先猜测1234,如果得到的反馈是 2A0B,那么可能的答案包括1256,1257,5236,等等。根据简单策略,下一次就猜1256,因为1256是所有可能答案中最小的数字。
简单策略的优点是速度非常快,缺点是所需猜测次数很多。对于标准规则,简单策略最多需要9次猜测,而平均需要5.560次。
这类策略是猜数字游戏最常用的解法。其算法步骤如下:
a. 首先猜 1234,得到第一个反馈(xAyB)。
b. 从所有数字中,筛选出满足已知反馈的所有可能数字,称之为“可能集”。
c. 对于所有数字(而不仅限于筛选出来的可能集),逐一评估每个数字的“好坏”,并给其打分。选取得分最高的那个数字猜。如果有多个数字的评分一样高,则优先选取可能集中的数字。
d. 重复步骤 b-c,直到猜出 4A0B 为止。
显然,启发式策略的重点在于如何评估一个数字的“好坏”?人们提出了多种直观的评价指标。简介如下:
最坏情况指标(Knuth, 1977) :这是最早出现在文献中的策略,在 Mastermind 规则下效果很好。给定一个数字,如果猜这个数字,那么接下来我的“可能集”至少会缩小多少?选取使可能集在最坏情况下最小的那个猜测。对于标准规则,这一评价指标最多需要7次猜测,平均需要 5.385 次。
平均情况指标(Irving, 1978):这是一个相当直观的指标,在各种规则变体下均有较好的效果。给定一个数字,如果猜这个数字,那么接下来我的“可能集”平均会缩小到多大?选取使可能集的预期大小最小的那个猜测。对于标准规则,这一评价指标最多需要7次猜测,平均需要 5.268 次。
预期步数指标(Neuwirth, 1982):又称“熵”指标。给定一个数字,这个指标计算如果猜测这个数字,那么接下来估计还需要多少步才能猜到答案。当然,这个步数只是一个粗略的估计,它假设每次猜测可以将可能集缩小一半(或缩小某一个常数倍k),于是估计步数就是可能集大小的对数函数,即估计步数=log(可能集中元素的个数)。对于标准规则,这一评价指标最多需要7次猜测,平均需要 5.265 次。
反馈个数指标(Kooi, 2005) :给定一个数字,这个指标计算该数字所可能带来的不同反馈的个数。反馈越多的越好。对于标准规则,这一评价指标最多需要8次猜测,平均需要 5.308 次。
此外,值得注意的是,启发式策略的效果也经常取决于所有数字的排列。不过影响一般不大。
猜数字游戏的最优策略需要由计算机用穷举法获得。其思路是,由于每次猜测的选择是有限的(因为总共的数字组合个数有限),并且我们知道一定可以在有限次数内猜出所有答案,那么计算机可以穷举所有猜法,从中找出最佳的策略。
此外,也有一些文献采用遗传算法等求解猜数字问题,在此不详述。

‘叁’ 求猜数字游戏的策略

你好!

先来一个比较简单的
第一步先猜0001,2223,4445,6667,8889。既可判断是那四个数比如1、3、5、0
第二步选一个没有出现的数比如9,将它与前面四个中的一个组合,判断其位置
比如1999,9199,9919可判断1(前三个都不是就是第四个,下同)
第二个数需两次,第三个需一次,剩下的是最后一个
这样,最坏的情况只需11次,有点多,最大的优点是不需要动脑子

关于上述策略的改进
在第二步用两个确定出现的数,比如0和1,以0001的方式输入,有以下3种情况:
1A3B,0和1一定都不在第四位(因为这“1A”一定是0,如果是1,则0一定在前三位,会有2A,故1不在第四位,同样因为“1A”是0,0也不是第四位。),这样剩下两个数一定有一个在第四位,剩下两个数,比如2、3,以2232的方式输入,如果3是第三位,则会显示2A2B,否则是4B,这样三四两位就定下来了,再猜一次可以确定一二两位的顺序,9次一定可以猜对
2A2B,1一定是第四位,0一定不是第四位
4B,0一定是第四位,1一定不是第四位
上面两种情况是等价的,第一次就可以确定一个数的位置,假设第四位是1,下一次猜0021,结果可能是3A1B,则结果是0321或3021,只需要再猜一次;或者2A2B,这是两个0里一定有一个是对的,2一定是错的,所以第三位一定是3,结果是2031或0231,也只需要再猜一次;或者1A3B,这时0一定在第三位,结果是2301或3201,仍然只需要再猜一次
综上所述,这种策略下,最坏的情况需要9次

进一步提高效率需要对各次的结果进行综合,情况太多了,失去作为一种策略的意义
这个问题,研究一下的确蛮有意思,下面是我的想法,不一定能解决问题,看可能可以给别人以启发.我主要研究的是<在最坏情况下最少几次猜中,策略如何?>
第一步,因为各个数都是一样的,所以第一次输入0123,现在轮到出题者,我相信没人会给他A,顶多给他B,但是给他几个B合理呢?
0B,下次猜到B的期望E=4*4/6=8/3
1B,E=1*1/4+3*3/6=7/4
2B,E=2*2/4+2*2/6=5/3
3B,E=3*3/4+1*1/6=29/12
4B,E=4作为出题人,希望对手猜对B的期望为最小,所以,选择给他2B.
第二步,输入4501,再次轮到出题者,现在问题开始复杂了.
我觉得可以把4501分为两部分,45和01,其中45是新的,按上题的方法继续做,
0B,E=2*2/4=1;
1B,E=1*1/2+1*1/4=3/4;
2B,E=2*2/2=2;所以出题者会在45中给1B.
其实复杂的是01部分,因为他涉及到A的部分,我只能假设,出题人在不得不给A时才给A这种情况,如果算期望的话,我已经搞不清了,所以从简了,而且这假设我觉得不一定不合理.从给B部分,我们可以同样按照开始的思路
0B,E=2*2/2=2
1B,E=1*1/2+1*1/2=1
2B,E=2*2/2=2
所以01中会给一个B,现在猜题者知道的东西有0,1中有1个;2,3中有一个;4,5中有一个;6,7,8,9中有一个.综上,第2步,出题者给的是0A2B.
第三步,猜题者这一步,稍微聪明点,从4组数中分别去4个数,最起码可以确定,3个数字.但是我们想,作为出题人,在6,7,8,9中,如果是一个数一个数猜,他肯定,会将最后一次猜的设为正确的以增加你猜题次数,也就是说,即使你从现在起,4步后,将6,7,8,9中正确数字的位置确定下来,也需要4步才能,将4个数字都确定.所以这种假设下,最少需要猜加上前面的两步,共6步.如果第三步猜2046.
出题人可以不给A就不给A的前提下,理智出题者给的应该是,0A1B为什么给1B不给0B呢,如果给0B,那么,猜题人就知道前三组数字中1,3,5是必对了,除了在确定A是比3B有优势,其他地方没优势.而给1B而不给2B的原因也就在于,确定A的时候1B比2B更有优势(猜题者更难猜)这样对猜题者来说,是很麻烦的,因为,他不知道1B是哪个,这次作答几乎对确定B没有任何贡献,所以,猜题者不应该出这些数字.如果前三组数字只出现1个,那么不仅可以唯一确定这个数字所在组的B,而且对6,7,8,9中选B也有积极意义
现在总猜题情况为0123,4501所以第三步,出6078.
问题越来越复杂了,对于0可以给B也可以不给,对于6,7,8可以给B也可以不给,0B,1,9肯定是B;2B,1肯定是B,而且6,7,8之间肯定有B,但如果给1B,猜题折还需要猜测,这个B来自哪里,增加了猜题难度,所以出题者给0A1B.
第四步,现在总猜题情况为0123,4501,6078.后面在像前面一样分析,我已经吃不消了,我就说我的猜题策略吧.第四步7890
如果第三步中,B是0的话,那么,出题者该给答案1A1B
(沿着这个假设,往下,总猜题情况为0123,4501,6078,7890.现在知道的是0位置已经确定,9确定为B.第五步9240,如果9位置对了,那么,如果给2A0B那么结果必然是9350.如果给2A1B结果必然是9430,如果给3A0B,结果可能是9250和9340也需要两步,最不好的情况就是要7步;如果9位置没对,我相信,在两步也能解出来.)只考虑这中情况,出题人就可以将你的步数限制到最少7步
如果第三步中,B是6,7,8中的一个,那么,0肯定不是B了,1肯定是B,而出题者只用考虑B是在7,8中,还是6,很显然,出题者会让B在7,8中,所以给的答案是0A1B.总猜题情况为0123,4501,6078,7890
第五步8215,出题者0A2B
第六步5381,出题者
1A0B===>2741,
1A2B===>3751,5731
2A1B===>3481
3A0B===>4381.只有这四种情况,是由于受到前面的限制.这中结果也需要7步
我不保证自己证明的都很严密,但作为一个解题者,我的感觉是,解这个题目可以步数更少些(虽然我也不知道能不能再少),如果有人能以更少的步数解出,我也会崇拜之,但如果说解这题目要比七步多,我就不同意了,我是完全站在出题者的立场,为难猜题者的思路的假设下去,这也是最糟糕的情况,这也应该是步数最多的情况.

各位有高招欢迎指正~

你想玩可以用我的QuickBasic程序。

Randomize Timer '随机化
Cls '清屏
Dim a(4),b(4) '定义数组
10 a = Int(Rnd * 9000)+1000 '产生一个数
aa = a '替身变量
a$ = Mid$(Str$(a),2) '去首部空格
For i = 4 To 1 Step -1 '此循环截位
a(i) = a Mod 10
a = a \ 10
Next
For i = 1 To 3 ’此循环判断是否有数字重复
For j = i + 1 To 4
If a(i) = a(j) Then 10 '若有数字重复,重新产生
Next j, i
For i = 10 To 1 Step -1 '有十次机会
s = 0 '"A"次数清零
v = 0 '"B"次数清零
Print i '打印还剩几次机会
20 Input"Input a number ", b '输入你的数
If b = 0 Then Print "The answer is";aa: End '若直接敲回车显示答案,同时游戏结束
For j = 4 To 1 Step -1 '截位
b(j) = b mod 10
b = b \ 10
Next
For j = 1 To 3
For k = j + 1 To 4
If b(j) = b(k) Then 20 '若有数字重复,重新输入
Next k, j
For j = 1 To 4
If a(j) = b(j) Then s = s + 1 '若条件满足,"A"加1
Next
For j = 1 To 4 '找"B"的个数
b$ = Mid$(Str$(b(j)), 2) '去首位的"0"
z = Instr(a$, b$) '寻找在你的数中和它的数相同的数字
If z <> 0 And a(z) <> b(z) Then v = v + 1 '找"B"
的个数
Next
If s = 4 Then Print "You are right!":End '如"A"=4表明全对,结束游戏
Print s;"A";v;"B" '打印"A"以及"B"的个数
Next
Print "Sorry, you are lost!" '没猜出来,结束
End

若没有QB去www.iteroom.cn下载

谢谢!

‘肆’ 猜数字方法

让参加的人随便钻则一个正整数X,包括0,让参加的人记住自己选择的是几,不要说出来,然后用X乘以2得出A,再用A加8得出B,再用B除以2得出C,用C减去第一次选择的X数字,你会得出4,无论X选择的是几,最后答案都是4,然后你再在后面随便加一些内容,最后神秘的说出答案就行了。

‘伍’ 猜数字卡片魔术

32 37 42 47 52 5733 38 43 48 53 5834 39 44 49 54 5935 40 45 50 55 6036 41 46 51 56 16 21 26 31 52 5717 22 27 48 53 5818 23 28 49 54 5919 24 29 50 55 6020 25 30 51 56 8 13 26 31 44 579 14 27 40 45 5810 15 28 41 46 5911 24 29 42 47 6012 25 30 43 56 4 13 22 31 44 535 14 23 36 45 546 15 28 37 46 557 20 29 38 47 6012 21 30 39 52 2 11 22 31 42 513 14 23 34 43 546 15 26 35 46 557 18 27 38 47 5810 19 30 39 50 59 1 11 21 31 41 513 13 23 33 43 535 15 25 35 45 557 17 27 37 47 579 19 29 39 49 59 先让观众想个数字然后让问观众看上面哪几张卡片没他想的哪个数字然后把没那个数字的所有卡片的第一个数字加起来就是观众所想的那个数字

‘陆’ 信封猜数字有什么技巧办法

信封猜数字——答案:3。


三缄其口

【拼音】: sān jiān qí kǒu

【解释】: 缄:封。在他嘴上贴了三张封条。形容说话谨慎。现在也用来形容不肯或不敢开口。

【出处】: 汉·刘向《说苑·敬慎》:“孔子之周,观于太庙,右阶之前,有金人焉。三缄其口,而铭其背曰:‘古之慎言人也,戒之哉,戒之哉!无多言,多言多败。’”

【举例造句】: 危行言逊,祸免生肘;金人示诫,三缄其口。 ★清·陈忱《水浒后传》第十三回

【拼音代码】: sjqk

【近义词】:缄口不言、守口如瓶、默不做声

【反义词】:口若悬河、夸夸其谈

【用法】: 作谓语、宾语;用于对事保密程度

【英文】: speak with caution

【故事】: 春秋时期,孔子到周朝的首都去参观周王的祖庙,祖庙在当时是很神圣的地方,一般参观者必须保持沉默。孔子看到庙堂大殿右边的台阶前有一个铜人,铜人的嘴上封了三道封条,在背上还刻着字:“这是古时说话最小心谨慎的人。”

‘柒’ 猜数字的解法表

以下列出上述几种解法应用于不用规则时的猜测效果,供参考。这些结果由计算机程序算出。 下表列出各种算法应用于Mastermind规则(4数位、6数码、可重复)时的效果。 算法 平均次数 1次 2次 3次 4次 5次 6次 7次 8次 9次 简单策略 5.765 1 4 25 108 305 602 196 49 6 最坏情况指标 4.476 1 6 62 533 694 - - - - 平均情况指标 4.395 1 10 54 645 583 3 - - - 预期步数指标 4.424 1 4 70 611 590 20 - - - 反馈个数指标 4.373 1 12 72 635 569 7 - - -

‘捌’ 求猜数字的技巧

先猜1234,5678。基本上可以排除两个数
然后再根据前面的情况具体分析
例:5029
1234 1B
5678 1A
就是说0和9都有
1234有一个且位置不对
5678有一个且位置是对的
再1234选一个5678选一个09都用上
3690 2B
说明3和6都不对且0和9位置不对
依次排除,运气好3.4次就把数字找到了
以后就是排位置了

可能数字有点过于简单,自己慢慢摸索就好了

‘玖’ 猜数字的脑筋急转弯

脑筋急转弯是一种锻炼人们思维的语言游戏。以下是我为大家准备的猜数字的脑筋急转弯,希望大家喜欢!

猜数字的脑筋急转弯(一)

1. 一字四十八个头,内中有水不外流。猜一字。答案:井。此迷的关键理解出四个十和八个头,而不是四十八个

2. 有三个空房间,一间房间有三盏灯,另一个房间有三个开关,每一个开关只能打开一盏灯,如果你只可以进每个房间一次,那你要如何知道那个开关控制哪盏灯?答案:进有开关的房间,打开其中一个开关,过5分钟后关掉,

3. 两个棋友一天共下了9盘棋,在没有和局的情况下他俩赢的次数相同,怎么回事答案:9盘不全老师用篮子拿来了五个苹果,准备分给五个小朋友,每个小朋友分一个,但是篮子里还要留一个,请问怎么分?答案:五个人分一个,分四次

4. 什么是有6只脚,却只用4只脚走路?答案:骑士

5. 24个人按5人排列,排城6行,该怎样排?答案:排成正六边形即可

6. 5只鸡,5天生了5个蛋。100天内要100个蛋,需要多少只鸡??答案:依然是五只鸡

7. 3个人3天用3桶水,9个人9天用几桶水?答案:9捅

8. 三个孩子吃三个饼要用3分钟,九十个孩子九十个饼要用多少时间?答案:三分钟

9. 怎样使用最简单的方法使X+I=IX等式成立?答案:1+X

10. 买一双高级女皮鞋要214元5角6分钱,请问买一只要多少钱?答案:一只不卖

经典脑筋急转弯(二)

1. 哪一个月有二十八天? ●每个月都有28天

2. 小王坐着对小李说:“我坐的这个地方,你永远也不可能坐的 到。”你知道小王坐在哪里吗?【 答案:小王坐在小李肩上 】

3. 为了怕身材走样,结婚以后坚持不生孩子的美女怎么称呼? 【 答案:绝代佳人 】

4. 熊为什么冬眠时会睡这么久?【 答案:因为没有人敢叫它起床 】

5. 法国人的笑声跟我们有什么不同? 【 答案:他们是用法语笑的 】

6. 人在什么情况下会七窍生烟?【 答案:火葬 】

7. 在一次考试中,一对同桌交了一模一样的考卷,但老师认为他们肯定没有做弊,这是为什么?【 答案:他们都交白卷 】

8. 书店买不到的书是什么书?【 答案:秘书 】

9. 为什么警察对闯红灯的汽车司机视而不见? 【 答案:汽车司机在步行。 】

10. 楚楚的生日在三月三十日,请问是哪年的三月三十日?【 答案:每年的三月三十日 】

11. 一头公牛加一头母牛,猜三个字?【 答案:两头牛 】

12. 一个离过五十次婚的女人,应该怎么形容她?(一个成语)【 答案:前“公”尽弃 】

13. 在什么时候+不等于? 【 答案:算错了的时候 】

14. 什么样的轮子只转不走?【 答案:风车的轮子 】

15. 为什么女人穿高跟鞋后,就代表她快结婚了?【 答案:因为穿高跟鞋走得慢,很容易被男人追上 】

16. 黑人和白人生下的婴儿,牙齿是什么颜色?【 答案:婴儿还没有长齿 】

17. 报纸上登的消息不一定百分之百是真的,但什么消息绝对假不了? 【 答案:报纸上的年、月、日 】

18. 家有家规,国有国规,那动物园里有啥规? 【 答案:乌龟 】

19. 油漆工的徒弟叫啥?【 答案:好色之徒 】

20. 什么时候时钟会响下?【 答案:坏的时候 】

精选脑筋急转弯(三)

1. 哪一个月有二十八天? ●每个月都有28天

2. 小王坐着对小李说:“我坐的这个地方,你永远也不可能坐的 到。”你知道小王坐在哪里吗?【 答案:小王坐在小李肩上 】

3. 为了怕身材走样,结婚以后坚持不生孩子的美女怎么称呼? 【 答案:绝代佳人 】

4. 熊为什么冬眠时会睡这么久?【 答案:因为没有人敢叫它起床 】

5. 法国人的笑声跟我们有什么不同? 【 答案:他们是用法语笑的 】

6. 人在什么情况下会七窍生烟?【 答案:火葬 】

7. 在一次考试中,一对同桌交了一模一样的考卷,但老师认为他们肯定没有做弊,这是为什么?【 答案:他们都交白卷 】

8. 书店买不到的书是什么书?【 答案:秘书 】

9. 为什么警察对闯红灯的汽车司机视而不见? 【 答案:汽车司机在步行。 】

10. 楚楚的生日在三月三十日,请问是哪年的三月三十日?【 答案:每年的三月三十日 】

11. 一头公牛加一头母牛,猜三个字?【 答案:两头牛 】

12. 一个离过五十次婚的女人,应该怎么形容她?(一个成语)【 答案:前“公”尽弃 】

13. 在什么时候+不等于? 【 答案:算错了的时候 】

14. 什么样的轮子只转不走?【 答案:风车的轮子 】

15. 为什么女人穿高跟鞋后,就代表她快结婚了?【 答案:因为穿高跟鞋走得慢,很容易被男人追上 】

16. 黑人和白人生下的婴儿,牙齿是什么颜色?【 答案:婴儿还没有长齿 】

17. 报纸上登的消息不一定百分之百是真的,但什么消息绝对假不了? 【 答案:报纸上的年、月、日 】

18. 家有家规,国有国规,那动物园里有啥规? 【 答案:乌龟 】

19. 油漆工的徒弟叫啥?【 答案:好色之徒 】

20. 什么时候时钟会响下?【 答案:坏的时候 】

阅读全文

与最简单的猜数字方法相关的资料

热点内容
oppo手机的助手在哪里设置方法 浏览:533
尖头b2单边桥最简单方法如何对点 浏览:130
灯带安装方法直流 浏览:83
衬衣领子打结方法视频 浏览:977
修复冰晶使用方法 浏览:245
受益所有人的计算方法 浏览:880
黄豆怎么收购方法去杂 浏览:656
a5c用简便方法表示 浏览:262
正方形面积的计算方法 浏览:274
国标铝的检测方法 浏览:112
boa9连接wifi方法 浏览:862
尿素水溶液的检测方法 浏览:569
评职称里的技术创新方法怎么写 浏览:237
电脑取出电池充电方法 浏览:385
体育课快速热身方法 浏览:792
如何看出html的解密方法 浏览:771
弹力带健身使用方法 浏览:600
如何鉴定蜂蜜真假的方法 浏览:664
科目二教育原则和方法有哪些 浏览:852
肝结节怎么治疗最好方法 浏览:855