梦中猪头 2004-8-17 16:51
关于”请问这几个数分别是什么?“原题的说明
<P>首先,在C第二次被问时回答不知道,所以C拿到的肯定只有36,其他情况C可以在第二次被问时知道。顺便说一下:不存在B第一次就知道而C不知道的情况。</P>
<P>那么:</P>
<P>B也该知道这一点啊,也就是说B通过分析也知道如果C在第二次不知道的情况下只有36这一个可能,拿他为什么还会第二次说不知道呢?</P>
<P>我不知道我的判断错没有,这两天头都算晕了,大家说一下还有哪个数字会让C在的二次说布知道。我号检查我的错误,不过我算了好几遍,总看不出来还有哪个数字。</P>
UFO_X 2004-8-17 17:50
试试48,不考虑A的回答,最后剩下他和36
梦中猪头 2004-8-17 18:07
<P>刚刚吃完晚饭归来。现在分析48</P><P>C=48,则C会怀疑:</P><P>B1=12 B2=24 B3=16</P><P>首先排除B=24的情况:
如果B=24,则B会根据C的第一次不知道,判断出C=48,因此第一次问B他会说知道</P><P>如果B=16,则B会认为C=32或C=48</P><P>可惜如果C=32,那么C会在第一次说出知道,因为32只能分解为2×16才符合条件</P><P>所以B也会通过C的第一次不知道判断出C=48</P><P>而最终B说了”不知道“</P><P>那么B只能是12</P><P>此时C就可以知道是48,12,4</P><P>从头到尾C都不用考虑A。</P>
UFO_X 2004-8-17 18:25
<P>应该还有一个数字,因为A的回答在排除法中用到了,而且是必须的。</P>
梦中猪头 2004-8-17 18:31
<P>但我真的无论如何找不到那个数字</P><P>所以我还是坚持认为原题是有瑕疵的</P><P>要弥补这个瑕疵,必须改为:</P><P>1.不限制B、C相同的情况</P><P>2.把”小于60“改为”不大于60“</P><P>这两个改变必须同时进行。这样让A出去就有意义了。</P>
UFO_X 2004-8-17 18:40
<P>不排除这个可能。但是自己思路出错的可能性也不是没有。最好再检查一遍。</P><P>从排除法的角度看题目没有问题,而且是个很好的题目。</P><P>另外,如果作者是要我们用穷举法把每组数字都筛一遍,那这个出题人实在太BT-_-</P>
梦中猪头 2004-8-17 18:46
<P>我最初的思路的确错了,错在我没有看见”不同的“三个字,所以我我无法排除A=1的情况。</P><P>但我这篇帖子在于说明原题的错误。</P><P>此外我还发现作者可能真的要我们用穷举(因为毕竟数量不大)</P>
UFO_X 2004-8-17 18:52
-_-超过10个可能的题目,我就不做了。纯粹或者大部分运用穷举的题目没有太大意义,不会有人真要出这样的题目,现在网上也很少看见。何况这题可以用排除法
梦中猪头 2004-8-17 19:15
<P>当然不超过十个,其实在C拿到时不能直接判断的数目只有9个</P><P>我把排除法看成”比较聪明的穷举“。</P><P>本题中就要用排除法啊,而且非常有用</P><P>现在来说明为什么C=36时第二次问C时C说不知道:</P><P>C=36 C说不知道,因为他认为可能:</P><P>B=12 B=18</P><P>(1)先看看B=12的情况</P><P>B=12,则B认为可能:</P><P>C=24 C=36 C=48</P><P>B可以马上排除C=24的情况,(因此C=24时C第一次就会说知道)</P><P>但其他两种可能性均不能排除,所以这中情况下B会说不知道</P><P>(2)当B=18的情况</P><P>则B认为:</P><P>C=36 C=54</P><P>根据C的第一次不知道,B无法判断C到底是多少</P><P>所以B也说不知道</P><P>既然B=12 和 B=18 两种情况B都会说不知道</P><P>则C肯定会第二次说不知道</P><P>此外,我还想说说:</P><P>1.我的方法可能真的很难看懂,而且我设计这个解法也很繁,但是只要真正懂(其实不懂也每关系,照做就行),你会发现排除数字非常简单,对C可能某个数字,短则几秒钟,最长也不过分把钟就可以排除或接纳,而被排除的数字绝对是大多数,这样即使对于范围更大的数字,也可以很容易解决问题。</P><P>2.我的方法并非简单的穷举,其实对这一类题,如果不没有了解其中的数字相互关系的话,穷举也不一定能解决问题,或者时间非常长。</P>
梦中猪头 2004-8-17 19:33
还 有一点:我在跟帖中解释36,48等等数字的方法只是为了说明问题,让别人好理解,并非我解决题目时使用的方法,使用我的方法解题时只须考虑CB等人”不知道“了多少次,然后把想应的数字归于某一个组,不会去想他为什么不知道,可以机械化操作。
UFO_X 2004-8-17 21:29
<P>你的方法一开始是把A,B,C分开考虑吗?就是先总结出他们的规律。这样考虑也不是不可以,但似乎运算量太大了。而且如果其中有一个思考错误,或者漏算呢?</P><P>我还是喜欢用表格排除。先分两列,每列里包含B/C可能的数字——这个不难,作大概五十个乘法运算。然后就像LIKEME说的,每次排除唯一的C/B/C/B,以及相应B/C/B/C。最后根据A的话来推断出36就可以了。</P>
梦中猪头 2004-8-17 21:34
<P>关键就在于没有A也能知道。</P>
<P>当然可以用其他方法,我只是设计了一种针对这类问题的通用的方法,目的在于如果问题发生数字的变化时(比如范围到90,100甚至更多,问话的次数也更多)也可以以不便应万变。就是说对其规律性的东西稍微探求了一下。</P>
<P>当然还可能有更好的办法</P>
UFO_X 2004-8-17 21:55
<P>原文的意思是,C在B第二次回答后不知道别人,而是在A回答后才知道的。所以A是必须的。另外,对A来说,B只回答了一次。对C来说,A,B是同时回答的。所以我认为是很不错的一个逻辑题。</P>
梦中猪头 2004-8-17 23:34
<P>原文的意思当然是这样</P><P>不过我不明白的是为什么第二次B要说不知道</P><P>因为我们已经说了在C的二次不知道的情况下C只能是36,B也完全可以知道,而且他知道自己的数字。</P><P>只是我们不知道而已。</P><P>我也认为原题是个很好的逻辑题,要不我也不会下这么多功夫了,不过它自身好像有点问题。就是说不能自圆其说</P>
UFO_X 2004-8-18 00:02
<P>你把为什么知道的过程写一遍吧。懒得再去想了。</P>
梦中猪头 2004-8-18 00:11
<P>我都说过一遍了,不过我不介意再说一遍</P><P>C在第二次被问时说:不知道,就只有一种情况:C=36,这个结果是我们分析得到的</P><P>这个结论我们知道,B也知道C=36(因为B会跟我们做一样的分析),此时B还知道自己的数字,故B就已经知道了两个人的数字了</P><P>但是我们不知道B=12还是18</P>
UFO_X 2004-8-18 00:45
说过吗-_-不记得了,而且为什么只有36,不好意思,记性不好,而且解题的过程顺序都很乱,也不知道谁接谁的在说。
梦中猪头 2004-8-18 01:11
这样说好了,在C所有的可能性中,C第一次说不知道的数字只有:30,36,40,42,48,50,52,54,56一共九个数,按照我在主帖中介绍的方法都过一遍(只有九个很快的,几分钟把),就会发现最后只有一个:36
[align=right][color=#000066][此贴子已经被作者于2004-8-18 1:53:13编辑过][/color][/align]
林园客 2004-8-18 10:48
你最好还是根帖,这样看起来很乱!!!
UFO_X 2004-8-18 12:46
<P>仅第一次不知道的话,c不可以是44?四的倍数都是2的倍数啊?所以我说这样一个个地去考虑,计算量大不说,也容易漏算。加上44,应该是c第一次说不知道的所有可能了。其实就是2和3的公倍数,或者4的倍数。然后b呢?烦劳再写一遍:)</P><P>btw,我觉得在贴子太多的时候开贴也是好的。不过题目最好写上接的是什么帖子。顺便把题目也复制一遍。</P>