扫描二维码,关注牛客网
下载牛客APP,随时随地刷题
浙ICP备号-2
扫一扫,把题目装进口袋一个教授逻辑学的教授,有三个非常聪明的学生,怎么猜数字的?
不是新问题了,网上没找到满意的***。 一个教授逻辑学的教授,有三个学生,而且三个学生均非常聪明! 一天教授给他们出了一个题,教授在每个人脑门上贴了一张纸条并告诉他们,每个人的纸条上都写了一个正整数,且某两个数的和等于第三个!(每个人可以看见另两个数,但看不见自己的) 教授问第一个学生:你能猜出自己的数吗?回答:不能问第二个,不能第三个,不能再问第一个,不能第二个,不能第三个:我猜出来了,是144!教授很满意的笑了。请问您能猜出另外两个人的数吗? 请问: 第三个人是怎么猜出来的?你是怎么猜出另外两个数的?
Excited!!!这真是一个十分有趣,但细究却十分复杂的问题。先说本题的正解,一共5组:(36,108)(108,36)(32,112)(64,80)(54,90)很不可思议吧?先说为什么对,再说怎么解。【1】基础:为什么这些是正解?假设 3 个人分别是 A,B,C;以(36,108)为例;大前提: 在第一轮中,所有人都知道了,自己的***只可能是两个数之一;所需 条件 R:排除掉其中一个(就一定能猜到另一个);在第二轮中,C 运用了 两层逻辑:前提:自己是 72 或 144;假设 1:自己是 72;推论 1:B 应该是 36 或 108;----假设 2:假如 B 是 36;--------推论 2:C 应该能判断出自己是 72;--------已知 1:C 第一轮没有猜出;----故假设2 不成立! ----推论 3:B 应该 在第二轮 排除 36 (条件 R 达成);----已知 2:B 没有在第二轮猜出;故假设1 不成立!条件R 达成,C 成功猜出!(36,108) 是一个比较简单的情况,仅仅用了两层逻辑。但是其他解其实就没有那么显然了,可能是三层、四层甚至五层逻辑……(逻辑学教授恐怕也会被绕晕吧?)所以请看第二部分:如何得到正解。********************【2】进阶:如何得到正解?但是我们之前并不知道***,那如何推得***呢?我的方法是,从逻辑上,一层层死推,不要放过任何一个线索;本题一共 5 个条件,即 前 5 次大家都不知道正解;还有一个隐藏条件(即真正的大前提):0 不是正整数;总计6个条件;接下来,就是放大招的时刻了!说明:下面,是每一个轮的每一个回合中,某方恰能猜出来的所有必要条件;在下面的推导过程中,所有小括号()内数字比例都是 A:B:C;中括号【】内是指该轮猜出运用的条件;【0】: 0不是正整数(所以若看到另外两个数字相同,则自己必然是它们的和);第 1 轮:【1.1】A 猜出B 和 C 相同 (2:1:1)【0】;【1.2】B 猜出A 和 C 相同(1:2:1) 【0】A 是 C 的 2 倍(2:3:1)【1.1】;(理解:B 看到 A:C=2:1,但是 A 没有猜出,所以 B 不是1,而是 3,这就是排除错误选项的方法,而这个逻辑是后面所有推论的核心逻辑:细究前面的人没有猜出的原因)【1.3】C 猜出A 和 B 相同 (1:1:2) 【0】A 是 B 的 2 倍 (2:1:3) 【1.1】B 是 A 的 2 倍 (1:2:3)【1.2】B 比 A 多 50%(2:3:5)【1.2】第 2 轮:(从此轮开始,每一个人的推导,都是以前两个人未猜出的表现为依据,所以每种情况的解的个数是前两个之和)【2.1】A 猜出(3:2:1)【1.2】(4:3:1)【1.2】(3:1:2)【1.3】(4:1:3)【1.3】(5:2:3)【1.3】(8:3:5)【1.3】【2.2】B 猜出(1:3:2)【1.3】(2:5:3)【1.3】(1:4:3)【1.3】(2:7:5)【1.3】(3:4:1)【2.1】(4:5:1)【2.1】(3:5:2)【2.1】(4:7:3)【2.1】(5:8:3)【2.1】(8:13:5)【2.1】【2.3】 C 猜出 (即本题)(3:2:5)【2.1】(4:3:7)【2.1】(3:1:4)【2.1】(4:1:5)【2.1】(5:2:7)【2.1】(8:3:11)【2.1】(1:3:4)【2.2】(2:5:7)【2.2】(1:4:5)【2.2】(2:7:9)【2.2】(3:4:7)【2.2】(4:5:9)【2.2】(3:5:8)【2.2】(4:7:11)【2.2】(5:8:13)【2.2】(8:13:21)【2.2】附上一张直观的图:以上一共 16 组解,但由于本题要求正整数,所以数字比例中 C 必须是 144 的约数;即(3:1:4),(1:3,4),(2:7:9),(4:5:9),(3:5:8)综上,本题共有 5 组解:(36,108)(108,36)(32,112)(64,80)(54,90)幸好只有 两轮,如果条件再多一点,恐怕我们就要动用计算机啦!(嗯,动态规划嘛,可以当作算法题)顺便,这里也给出 第 n 次询问能等猜出***的解的个数 a(n) 的递推公式: 求:通项公式(这个是高中数学诶):我算出来的结果是:这个就是大名鼎鼎的
的变体,前 10 项分别是:1,2,4,6,10,16,26,42,68,110……另外,我还发现了一个重要结论:无论初始的三个数是多少,在有限轮内必然会有人猜出;这个问题就交给大家探索啦;********************最后,我有一个小小的猜测:这道题目居然出现在【逻辑】而不是【数学】或【算法】中,那么出这道题的人,很可能并没有做对这道题。一个可能的情况是,他只发现了(36,108)这一组解。因为,逻辑学教授早已阵亡。********************【转载请注明作者及链接地址,商业转载需征求我同意并商讨稿费,谢谢理解。】另,做个广告:欢迎关注我的知乎专栏:
与某位少侠思路一样 解答过程如图 若有错误望指正 真的会有人看吗!我都不想看了
#!/usr/bin/env python
# -*- coding: utf-8 -*-
__author__ = 'FreeMind'
class Solution:
def __init__(self, rounds, person, number):
self.rounds = rounds
self.person = person
self.number = number
def solution(self):
if self.rounds == 1:
if self.person == 1:
return [[2, 1, 1]]
elif self.person == 2:
return [[1, 2, 1], [2, 3, 1]]
return [[1, 1, 2], [2, 1, 3], [1, 2, 3], [2, 3, 5]]
a = [[2, 1, 1]]
b = [[1, 2, 1], [2, 3, 1]]
c = [[1, 1, 2], [2, 1, 3], [1, 2, 3], [2, 3, 5]]
results = [a, b, c]
iterationNumber = (self.rounds - 2) * 3 + self.person
for i in range(iterationNumber):
if i % 3 == 0:
results[0] = [[x[1]+x[2], x[1], x[2]] for x in results[1] + results[2]]
elif i % 3 == 1:
results[1] = [[x[0], x[0]+x[2], x[2]] for
x in results[0] + results[2]]
results[2] = [[x[0], x[1], x[0]+x[1]] for x in results[0] + results[1]]
return results[self.person-1]
def __str__(self):
result = filter(lambda x:not self.number%max(x), self.solution())
result = map(lambda x:[x[0]*self.number/sum(x)*2, x[1]*self.number/sum(x)*2, x[2]*self.number/sum(x)*2],result)
for i in result:
res += str(i)+"\n"
return res.replace('[','(').replace(']', ')')
__repr__ = __str__
if __name__ == '__main__':
print Solution(2, 3, 144) #对应位置参数依次为轮数,最先知道***的人,所知结果
## (108, 36, 144)
## (64, 80, 144)
## (54, 90, 144)
## (36, 108, 144)
## (32, 112, 144)
首先要理清一个容易混淆的地方,就是本题中涉及了几个角色。最明显的是三个学生----假设他们是A、B、C,他们分配到的数是a、b、c----是游戏的主体。他们每个人的任务,都是在具体的某一局游戏当中,推测自己的数。其实,在看到另外两人的数的那一刻,他们就会知道,自己的数不是这两数之和,就是这两数之差,肯定是这其中的一个;接下来所有的推理,都是在分辨到底是和还是差。然后一个没什么存在感的角色是教授,负责设计游戏的三个数,让学生来猜。教授只要随便找一个正整数加法的算式就可以了,根本不需要任何细致的推理。最后一个角色是做题的“我们”。本题的要求是,让我们根据“在第二轮时C说出144”这个事实,来推测教授可能选用了哪个(包含144的)算式。注意,我们的任务是找所有可能的游戏,而不是参与到具体某一局之中去推理。明晰了不同角色的定位,就可以做题了,具体参见
的回答,我完全赞同,不再赘述。 然而,还可以换一个角度补充几句。让我们思考一下,假如我们是A、B、C中的一个,我们该如何玩这个游戏呢?到底是怎么推理的?下面以(36, 108, 144)为例,模拟一下三位学生的推理过程,也算是对***的一个验证。下文中的“!=”意思是“不等于”。首先,教授把(36, 108, 144)三个数分配给A、B、C三人,即a = 36, b = 108, c = 144。然后开始依次询问。第一个是A。当他看到b = 108, c = 144的时候,他就知道自己的候选集是{36, 256},自己的数a肯定是这两者中的一个。到底是哪个,无从得知,所以他说“不确定”。这里要注意一点,单单看到别人的两个数,一般是无法判断自己的数的,因为不知道是和还是差。但有一种情况下能做出判断,那就是别人的两个数相等的时候。比如,你看到另外两个数都是21,那自己只能是21 + 21 = 42,因为21 - 21 = 0不是正整数。“他们相等,我就是和”这一点是整个游戏的基石,是能得出定论的根本。游戏继续,轮到B了。B看到a = 36, c = 144,也就确定了自己的候选集是{108, 180},同样无法判断自己的数b是哪个。然后,还没完,B根据A说的“不确定”,得出了b != c的结论。也就是说,B想:“如果我是144,那A看到两个144,就会得出自己是288的结论,不会说不确定。所以我的数不是144。”这个b != 144的结论,看似没有什么用,因为B的候选集{108, 180}里本来就没有144,何须再排除一次。但是,这个结论对别人是有用的,因为别人并不知道B的候选集是什么。伴随着B说的“不确定”,这个信息就流传了下去。然后视角来到C处。C看到a = 36, b = 108,也得出了自己的候选集{72, 144}。然后,根据a的“不确定”,判断出c != b即c != 108;根据b的“不确定”,判断出c != a即c != 36。于是C的排除集是{108, 36}。仅仅这些吗?不,还有最关键的一点:C还能挖掘利用【B根据A说的“不确定”得出了b != c的结论但仍然说“不确定”】这一点。C想:“B听到A说‘不确定’,应该能判断出b != c。然而,这一点并没有帮助B从他的候选集里排除一个数,所以,我的数c,并不在B的候选集里。”B的候选集是什么?是|a +- c|。c不在其中,也就是说a + c != c、a - c != c、c - a != c,也就是说,c != a / 2即c != 18。C的排除集扩展成了{108, 36, 18},依然和C的候选集{72, 144}交集为空,所以C也只能说“不确定”。这样,第一圈就转完了。总结一下,三人的推理如下:A:候选集:{36, 256};排除集:{};条件:b、c;结论:不确定。B:候选集:{108, 180};排除集:{144};条件:a、c、A不确定;结论:不确定。C:候选集:{72, 144};排除集:{108, 36, 18};条件:a、b、A不确定、B不确定、B知道【A不确定】后仍不确定;结论:不确定。第二回合也是相似的玩法,只是更加复杂而已。第二轮A可利用的条件有四个:B知道【A不确定】后仍不确定;C知道【A不确定】后仍不确定;C知道【B不确定】后仍不确定;C知道【B知道『A不确定』后仍不确定】后仍不确定。由第一个条件可知,c不在B的候选集中,即|a +- c| != c,可得a != 2c即a != 288;由第二个条件可知,b不在C的候选集中,即|a +- b| != b,可得a != 2b即a != 216;由第三个条件可知,a不在C的候选集中,即|a +- b| != a,可得a != b / 2即a != 54;最后一个条件,A想:“A不确定,说明b != c,B显然意识到了这一点,但仍然没能得出定论,说明c不在B的候选集中,|a +- c| != c即c != a /2。然而这一点一定会被C意识到,但他也没能排除什么,说明a / 2不在C的候选集中,|a +- b| != a / 2可得a != 2b / 3即a != 72。”于是,A的排除集变为{288, 216, 54, 72},仍然与A的候选集没有交集,不可排除,仍然是不确定。然后就又轮到B了。B经过一番类似的思考后,也没能得出结论,于是就又轮到了C。C经过复杂的思考之后,终于在排除集中出现了72,从而确定自己是144。具体的思考过程,留作习题。总之,通过上述的模拟,证实了如果游戏真是这样,那C确实会在第二轮的时候得出自己是144的结论,从而验证了(36, 108, 144)确实是一个解。同理,其他的4个解都可以用类似的方法验证。习题1:思考这段分析与曾加的***的联系。习题2:思考这段分析与斐波那契数列的联系。习题3:模拟第二轮中B与C的推理过程。习题4:还有一种“假设排除法”,比如C在第一轮会想:“如果我是72,那么,……,没什么矛盾;如果我是144,那么,……,也没什么矛盾:所以不确定。”;在第二轮会想:“如果我是72,那么,……,矛盾,所以我是144。”。思考这种方法与本文方法的联系。(提示:递归与递推。)
其实一切都是从2、1、1三个数字演化而来的。=================================我们先约定一种表示方式:同学ABC面对面围坐在一起,各自的数除去最大公约数后为abc,表示为下图所示的符号。(这是我自己思考时用的符号,个人感觉比直接写成三元数组的坐标形式要直观些) 如图,如果ABC分别是211,那么A1最先猜出。下面考虑由211演化出的231,在B的猜测里b可能等于1或3,在A1“不知道”的信息传递给B后,B则知道b为3,B1最先猜出。请注意这两个过程的对应:①B1从A1处获得信息,从而最先猜出,即有效信息从A1传递到B1;②数字由A1最先猜出的组合211演化为由B1最先猜出的组合231,演化过程是b由另外两个数之差变成了和(因为前一种情况被A1表达的信息排除掉了,所以B1则可以最先猜出)。如果以上过程你理解了,那么下面咱们就来类推了。C2的猜出,向前追寻有效信息可以是A2或B2,再从A2或B2向上追寻,一直到初始有效信息,形成16条有效信息链,而C2正处于这些信息链的末端。把这些信息传递的过程对应上数字演化过程,我们可以得到下图根据144的质因数***状况,找出16种数字组合中符合条件的解,最后乘上公因数便得到最终***。=================================另外,用这个思路可以很容易地证明曾少侠***中提到的结论:无论是怎样的三个初始数,在有限回合内一定有人能猜出。我们只需要把每个数组中最大的数换成两个较小数之差(当然,必须是正数)。将这个过程不断进行下去,在有限回合内一定可以得到有两个数相等的数组。并且对应有效信息传递的过程,我们可以得出是哪位同学、在第几次回答时最先猜出。PS: 请原谅我这狗扒一样的字
终于解出来啦!发现跟第一名的***方法有些类似(相对繁琐了些),anyway,还是很开心好么,所以来跟大家分享一下~~~基本的思路是这样:1.***由C在第二轮猜出(C2表示),因此A1,B1,C1,A2,B2这五轮都没有人猜出。2.在两个可能的***中猜出结果,意味着排除了错误的***。3.猜出的前提是这些数之间具有的特殊联系,每次猜不出都会揭示更多的否定条件设三个数分别为a,b,cA1;非c=bB1:非c=a,非b=c,即非a=b+c=2c,即非c=0.5aC1:非a=b非c=a,即非b=a+a=2a,即b=2a非c=0.5a,即非b-a=0.5a且a-b=0.5a,即非b=1.5a或b=0.5aA2:(考虑B1,C1)非a=c,即非b=a+c=2c,即非c=0.5b非a=2c(c=0.5a)即非b+c=2c且非b-c=2c,即非c=b(重)且非c=1/3b非a=b,即非c=a+b=2b,即非c=2b非a=0.5b(b=2a)即非b-c=0.5b且c-b=0.5b,即非c=0.5b(重)且非c=1.5b非a=2/3b(b=1.5a)即非b-c=2/3b且c-b=2/3b即非c=1/3b(重)且非c=5/3b非a=2b(b=0.5a)即非b+c=2b且非c-b=2b即非c=b(重)且非c=3bB2:(考虑C1,A2)非b=a,即非c=2a非b=2a,即非a+c=2a且非c-a=2a,即非c=a(重)且非c=3a非b=1.5a,即非a+c=1.5a且非c-a=1.5a,即非c=0.5a(重)且非c=2.5a非b=0.5a,即非c-a=0.5a且非a-c=0.5a,即非c=1.5a且非c=0.5a(重)非b=2c(c=0.5b),即非a-c=2c,即非c=1/3a非b=3c(c=1/3b),即非a-c=3c,即非c=1/4a非b=0.5c(c=2b),即非a-c=0.5c,即非c=2/3a非b=2/3c(c=1.5b),即非a-c=2/3c,即非c=3/5a非b=3/5c(c=5/3b)即非a-c=3/5c即非c=5/8a非b=1/3c(c=3b)即非a-c=1/3c即非c=3/4aC2:(考虑A2,B2)非c=0.5b, 即a-b=0.5b(a=1.5b),即c=a+b=2.5b
3:2:5非c=1/3b,即a-b=1/3b(a=4/3b),即c=7/3b
4:3:7非c=2b,即a-b=2b(a=3b),即c=4b
3:1:4 (108,36,144)非c=1.5b,即a=2.5b,,即c=3.5b
5:2:7非c=5/3b,即a=8/3b,即c=11/3b
8:3:11非c=3b,即a=4b,c=5b
4:1:5非c=2a,即b=3a,即c=4a
1:3:4(36,108,144)非c=3a,即b=4a,c=5a
1:4:5非c=2.5a,即b=3.5a,c=4.5a
2:7:9(32:112:144)非c=1.5a,即b=2.5a,c=3.5a
2:5:7非c=1/3a,即b=4/3a,c=7/3a
3:4:7非c=1/4a即b=5/4a,c=9/4a
4:5:9(64,80,144)非c=2/3a即b=5/3a,c=8/3a
3:5:8(54,90,144)非c=3/5a即b=8/5a,c=13/5a
5:8:13非c=5/8a即b=13/8a,c=21/8a
8:13:21非c=3/4a即b=7/4a,c=11/4a
4:7:11因为a,b,c都是正整数,最终有5组满足条件的解(108,36,144),(36,108,144),(32:112:144),(64,80,144),(54,90,144)
大堆文字不想看的快过来,直接看最下面的图啊!看到题目了于是兴冲冲想来写***,没想到和
大神的重了,(*  ̄? ̄),不开森~ 算了,补一张图吧~ 顺便回答一下
同学的疑问。具体不用多说,曾加已经说的很详细了。这里绿色是能整除144的,灰色是不能整除144的。关于你说的那个2:7:9的,C的心理活动是这样的:具体不用多说,曾加已经说的很详细了。这里绿色是能整除144的,灰色是不能整除144的。关于你说的那个2:7:9的,C的心理活动是这样的:A是32,B是112,我要么是80,要么是144。我如果是80的话,B刚才应该就会说,自己是112,因为B会想:“A是32,C是80,我要么是112,要么是48,我如果是48的话,那在上一轮C就会说出他是80了,因为C会想:“A是32,B是48,我要么是80,要么是16,我要是16的话,刚才B就会肯定地说自己是48了,因为B会想:“A是32,C是16,我要么是16,要么是48,我要是16的话,特么A早就赢了,所以我肯定不是16,是48没错”,(C接着想):呵呵,这点小聪明能瞒得住我,既然B刚才没说自己是48,那我就不是16而是80。”(B接着想):嘿嘿,C这小子的想法完全在我的掌控之中,既然C上一轮没说自己是80,那我就不是48,而是112。” (C接着想:)刚才我的一套推理堪称完美,我真的是80的话,B就能够根据我上一轮没猜出自己是80而猜出他自己是112了,而且肯定还在沾沾自喜猜透了我的想法,但是看他现在愁眉苦脸的样子,看样子我不是80,而是144。嗯,就酱~C:老师老师!我知道了……
今晚有什么奖励给我嘛?&(?????)& 教授:来来来~ 都把脑门伸过来,我们再换张纸条啊~ A、B、C:(/= _ =)/~┴┴
(/"≡ _ ≡)/~┴┴
(?`□′)??┻━┻------------------------------------------------------------分割线---------------------------------------------------------补一些直观的图:(1)2阶解法之一:(2)2阶解法之二:(3)3阶解法:(4)4阶解法之一:(5)4阶解法之二:
谢邀。挺简单的,穷举即可首先,每个人看到另外两个数字时只会得到两个预想的***:1,两者之和;2,两者之差那么在什么情况下,自己能够在看到另外两人的数字后立刻得知自己的是多少呢。那就是当另外两人数字是一样的时候。所有A说,不知道,意味着提供给B和C信息是,你们俩的数字是不同的。既BC数字比值不是1:1,既ABC比值不为(2:1:1)那么对于B,他就得到了另一个有用信息。所以如果他见到AC两人的数字其中一个是另一个的两倍,他也能立刻知道自己的数字。既可以排除ABC比值为(1,2,1)或(2,3,1)好了,这时候到C了,首先,他看到的A和B两个数字不一样,其次他知道自己的数字不是A的两倍,也知道自己和C的数字不一样。但是他依然得不到结论。也就是说,他见到的ABC的数字比例关系并不是(1,2,3)(2,3,5)(2,1,3)(1,1,2)这时候,又回到A,他虽然第一圈下来并不知道结果,但是他听了B和C的话又得到了新的信息。可是他还不知道,所以ABC的数字比值不是(3,2,1),(4,3,1),(5,2,3),(8,3,5),(4,1,3),(3,1,2)然后又到了B,他依然不知道,那么由此可知,ABC比值不是(1,4,3),(2,7,5),(2,5,3),(1,3,2),(3,4,1),(4,5,1),(5,8,3),(8,13,5),(4,7,3)(3,5,2)重点来了这时候C突然就知道了。也就是说,他从A或者B的第二轮得到了有用信息,那么ABC有可能的情况是:(3,2,5)(4,3,7)(5,2,7)(8,3,11),(4,1,5)(3,1,4)(1,4,5)(2,7,9)(2,5,7)(1,3,4)(3,4,7),(4,5,9)(5,8,13)(8,13,21)(4,7,11)(3,5,8)由于是正整数,所以最后一位必须是144的因数。那么可以排除掉许多项只剩下(3,1,4)(2,7,9)(1,3,4)(4,5,9)(3,5,8)分别对应108,36,14432,112,14436,108,14464,80,14454,90,144
其实这类问题有很多.所谓的"难",其实指的是在看题/理清题意上的困难,和暴力穷举时的烦琐,真正技术上来讲并不"难".很多题目所谓的做法其实就是穷举,只是对于具体题目具体分析,可能不断会注意到某些可利用的性质,然后剪枝比较明显罢了..也许某种类型的问题很常见,规则大体相同,只是具体题目有某些具体细节的差异(其实不妨说题目本身是带有一些参数的,只是定义域太大了所以随便抽都能算是一个新题).像这样的,倒是很可能会被抽象出一些比较有效的剪枝方式,或者说,这就是这类问题的一些技巧,或者说是方法.举个栗子,数独.所谓的数独,其实本质上也是穷举,只是被人研究太多了所以手推的时候启发函数的作用经常相当明显罢了..然而还有一些问题一般并没有组成这样的大类,所以不值得/没办法抽象出一些大类里普遍适用的适合手算的"方法",比方说就这题....([s]强行把话题拉回去....[/s])所以我觉得这种问题所谓的手推没多大意义..弄出结果来就行了..抽象不出模型的东西不值得抽象出啥技巧..所以像"这种方法比那种方法要多试了一些结果/剪枝的时候研究得更深入细致所以一堆杂七杂八的分析后能剪掉更多"根本没意义..ps.既然像这种东西要弄出所谓的手推的技巧没多大意义了..那使用计算机也就没所谓了对吧..嗯,倒不如说这个问题的价值也不必那个最终能成功的程序的算法多多少..(hmm..我就不说用prolog写程序了....)说到电脑..再说回数独吧..一个好的算法对数独完全是秒的..然而手推还是有乐趣的..就是因为抽象出了很多在所有数独题目都适用的适合手推的技巧..################################ 每次见到这种东西就吐满肚子苦水槽于是再次强行把话题拉回原题的分割线 ################################记三个人依次为A,B,C,对应的数依次为a,b,c.首先,总共有6次判断.我们依次记为P1,...,P6.记Qi为P1且P2且...且Pi.于是,我们要求的是满足Q6的(a,b,c).显然,对于某个i,第i次判断的那个人面对(a,b,c),会猜测自己是另两人的 和 或 差的绝对值,对应两个局面.于是(a,b,c)满足Qi等价于对应的这两个局面都满足Q(i-1).################################################################# 说得比较抽象,而且毕竟不是竞赛,就不去写严谨了..# 举个栗子吧..对i=5,B看到(a,_,c)后会认为局面有可能是(a,a+c,c)或(a,|a-c|,c).# 然后B就会想..# "假如A看到的是(_,a+c,c),会不会有多解呢..如果是看到(_,|a-c|,c)呢..# 总之,如果两个中有哪个没有多解,那前4次就不会有这种状况了,所以肯定是另外一个,那我就能确定了."# 所以,B不能确定当且仅当这两个均对应了第四次判断的多解.################################################################回到原题..先上一些代码吧..算了改变主意了不码代码了还是先直接手推吧..[s](所以上边那堆到底是干吗的....)[/s]Q1:
b&&0,c&&0,b&&cQ2:
(a,a+c,c),(a,|a-c|,c)均满足Q1
a&&0,b&&0,c&&0,a&&c,b&&c,a&&2cQ3:
(a,b,a+b),(a,b,|a-b|)均满足Q2
a&&0,b&&0,c&&0,a&&b,a&&c,b&&c,2a&&b,a&&2b,a&&2c,3a&&2bQ4:
(b+c,b,c),(|b-c|,b,c)均满足Q3
a&&0,b&&0,c&&0,a&&b,a&&c,b&&c,2a&&b,a&&2b,a&&2c,2b&&c,b&&2c,3b&&2c,3a&&2b,b&&3c,3b&&c,5b&&3cQ5:
(a,a+c,c),(a,|a-c|,c)均满足Q4
a&&0,b&&0,c&&0,a&&b,a&&c,b&&c,2a&&b,a&&2b,2a&&c,a&&2c,2b&&c,b&&2c,3a&&c,a&&3c,a&&4c,3b&&c,b&&3c,3a&&2b,3a&&2c,2a&&3c,3b&&2c,3a&&4c,5a&&2c,3a&&5c,5b&&3c,5a&&8cQ6:
(a,b,a+b),(a,b,|a-b|)中一个不满足Q5,一个满足Q5且对应的c=144分两种情况..I.a+b=144,(a,b,a+b)满足Q5,(a,b,|a-b|)不满足Q5.a+b=144只有有限组解,故穷举可破,结果是(32,112,144),(36,108,144),(54,90,144),(64,80,144),(108,36,144).II.|a-b|=144,(a,b,|a-b|)满足Q5,(a,b,a+b)不满足Q5.从"(a,b,a+b)不满足Q5"得到一个等式,再和|a-b|=144联立,经验证只有有限组解,其中使得(a,b,|a-b|)满足Q5的..没有.
一个教授逻辑学的教授,有三个普通学生一天教授给他们出了一个题,教授在每个人脑门上贴了一张纸条并告诉他们,每个人的纸条上都写了一个正整数,且某两个数的和等于第三个!(每个人可以看见另两个数,但看不见自己的) 教授问第一个学生:你能猜出自己的数吗?回答:不能问第二个,不能第三个,不能再问第一个,老师你刚刚问过我一遍了...
已有帐号?
无法登录?
社交帐号登录1又3分之1换成小数是多少?
腐姐控百合850
1.3333333...无限循环
为您推荐:
其他类似问题
扫描下载二维码一又二十分之九化成小数是多少?
一又二十分之九 =1.45
为您推荐:
其他类似问题
扫描下载二维码4.5的十分之三是多少(2)9.6×0.6表示9.6的十分之六是多少(3)根据18×17=306,直接写出下列算式的得数:(1)1.8×17=30.6(2)18×1.7=30.6(3)1.8×1.7=3.06(4)0.18×0.17=(4)2.7373…是循环小数,保留一位小数是2.7,保留两位小数是2.74,用简便方法写作.(5)整数除法的商总是小于被除数,而小数除法中的商却可以大于被除数.(6)被除数扩大100倍,要使商不变,除数应该扩大100倍,如果一个因数缩小100倍,要使积不变,另一个因数应扩大100倍,两个加数,其中一个加数增加100,为使和不变,另一个加数应减少100,减数增加100,为使差不变,被减数应.(7)9.12÷0.24的商的最高位是在十位.(8)下列各数按从小到大排列:7.7、7.707、7.077和7.777.77>7.707>7.7>7.077(9)填上适当的数:0.56×201=0.56×(200+1)&&&&&2.5×0.67×0.4=(2.5×0.4)×0.67.
分析:(1)和(2)根据小数乘法的意义进行解答即可;(3)根据积不变的规律进行解答即可;(4)根据循环小数的知识,以及小数求近似数的方法进行解答即可.(5)小数除法的意义及计算方法进行解答即可.(6)根据商不变的规律,积不变的规律,以及和与差不变的规律进行解答即可.(7)根据商不变的规律,把除数化成整数再进一步解答即可.(8)根据小数大小比较的方法进行解答即可.(9)根据整数运算定律也适用于小数进行解答即可.解答:解:根据题意可得:(1)(1)4.5×0.3表示4.5的十分之三是多少;(2)9.6×0.6表示9.6的十分之六是多少;(3)(1)1.8×17=30.6(2)18×1.7=30.6(3)1.8×1.7=3.06(4)0.18×0.17=0.0306;(4)2.7373…是循环小数,保留一位小数是2.7,保留两位小数是2.74,用简便方法写作2.?7?3;(5)整数除法的商总是小于被除数,而小数除法中的商却可以大于被除数.(6)被除数扩大100倍,要使商不变,除数应该扩大100倍,如果一个因数缩小100倍,要使积不变,另一个因数应扩大100倍,两个加数,其中一个加数增加100,为使和不变,另一个加数应减少100,减数增加100,为使差不变,被减数应增加100;(7)根据商不变的规律,0.24扩大100倍是24,那么9.12也扩大100倍是912,商不变,912÷24=38,38的最高位是十位,所以,9.12÷0.24的商的最高位是在十位;(8)根据小数大小比较的方法,这几个数的整数部分都是7,比较十分位,只有7.077的十分位是0,其它三个数的十分位是7,说明7.077最小,再比较剩下三个数的百分位,7.7的是0,7.707的是0,7.77的是7,说明7.77最大,最后两个数中的千分位,7.7的是0,7.707的是7,7.707>7.7,所以,7.77>7.707>7.7>7.077;(9)根据运算定律可得:0.56×201=0.56×(200+1),2.5×0.67×0.4=(2.5×0.4)×0.67.故***为:(1)4.5的十分之三是多少,(2)9.6的十分之六是多少,(3)30.6,30.6,3.06,0.0306,(4)循环,2.7,2.74,2.?7?3,(5)可以大于,(6)扩大100倍,扩大100倍,减少100,增加100,(7)十,(8)7.77>7.707>7.7>7.077,(9)200,1,2.5,0.4,0.67.点评:本题主要考查小数这一方面的知识,比较零散,需要慢慢分析找出***.
请在这里输入关键词:
科目:小学数学
题型:解答题
请你认真读题,谨慎填空:20%(2+4+2+2+4+2+2+2)(1)4.5×0.3表示________(2)9.6×0.6表示________(3)根据18×17=306,直接写出下列算式的得数:(1)1.8×17=________(2)18×1.7=________(3)1.8×1.7=________(4)0.18×0.17=(4)2.7373…是________小数,保留一位小数是________,保留两位小数是________,用简便方法写作________.(5)整数除法的商总是小于被除数,而小数除法中的商却________被除数.(6)被除数扩大100倍,要使商不变,除数应该________,如果一个因数缩小100倍,要使积不变,另一个因数应________,两个加数,其中一个加数增加100,为使和不变,另一个加数应________,减数增加100,为使差不变,被减数应.(7)9.12÷0.24的商的最高位是在________位.(8)下列各数按从小到大排列:7.7、7.707、7.077和7.77________(9)填上适当的数:0.56×201=0.56×(________+________) 2.5×0.67×0.4=(________×________)×________.
精英家教网新版app上线啦!用app只需扫描书本条形码就能找到作业,家长给孩子检查作业更省心,同学们作业对***更方便,扫描上方二维码立刻***!