社区
非技术版
帖子详情
猜数字
eminena
2003-10-19 04:57:14
老师从1到50之间(大于1小于50)选了两个自然数,将二者之积告诉同学P(Product),二者之和告诉同学S(Sum),问两位同学能否推出这两个自然数?
S说:我知道你不知道这两个数,但我也不知道。
P说:我还是不知道。
S说:我知道这两个数啦!
P说:我也知道啦!
其他同学:我们也知道啦!
……
问:老师选出的两个自然数是什么?
...全文
102
8
打赏
收藏
猜数字
老师从1到50之间(大于1小于50)选了两个自然数,将二者之积告诉同学P(Product),二者之和告诉同学S(Sum),问两位同学能否推出这两个自然数? S说:我知道你不知道这两个数,但我也不知道。 P说:我还是不知道。 S说:我知道这两个数啦! P说:我也知道啦! 其他同学:我们也知道啦! …… 问:老师选出的两个自然数是什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jdsnhan
2003-10-24
打赏
举报
回复
这也是一个好帖子,挖出来。
eminena
2003-10-22
打赏
举报
回复
提示:
请按以下例题的思路解答:
题:
一个教授逻辑学的教授,有三个学生,而且三个学生均非常聪明!
一天教授给他们出了一个题,教授在每个人脑门上贴了一张纸条并告诉他们,每个人的纸条上都写了一个正整数,且某两个数的和等于第三个!(每个人可以看见另两个数,但看不见自己的)
教授问第一个学生:你能猜出自己的数吗?回答:不能;
问第二个,不能;
第三个,不能;
再问第一个,不能;
第二个,不能;
第三个:我猜出来了,是144!
教授很满意的笑了。请问您能猜出另外两个人的数吗? 请说出理由!
答案:
答案是:36和108
思路如下:
首先说出此数的人应该是二数之和的人,因为另外两个加数的人所获得的信息应该是均等的,在同等条件下,若一个推不出,另一个也应该推不出。(当然,我这里只是说这种可能性比较大,因为毕竟还有个回答的先后次序,在一定程度上存在信息不平衡)
另外,只有在第三个人看到另外两个人的数是一样时,才可以立刻说出自己的数。
以上两点是根据题意可以推出的已知条件。
如果只问了一轮,第三个人就说出144,那么根据推理,可以很容易得出另外两个是48和96,怎样才能让老师问了两轮才得出答案了?这就需要进一步考虑:
A:36(36/152) B:108(108/180) C:144(144/72)
括弧内是该同学看到另外两个数后,猜测自己头上可能出现的数。现推理如下:
A,B先说不知道,理所当然,C在说不知道的情况下,可以假设如果自己是72的话,B在已知36和72条件下,会这样推理——“我的数应该是36或108,但如果是36的话,C应该可以立刻说出自己的数,而C并没说,所以应该是108!”然而,在下一轮,B还是不知道,所以,C可以判断出自己的假设是假,自己的数只能是144!
workhand
2003-10-22
打赏
举报
回复
高深,不明白
zhangdatou
2003-10-22
打赏
举报
回复
up
云帆
2003-10-21
打赏
举报
回复
up
eminena
2003-10-21
打赏
举报
回复
up
klbt
2003-10-19
打赏
举报
回复
sorry,漏了四个:
2*2*7=28
2*3*5=30
2*2*3*3=36
2*2*11=44
总结一下就是:
8、12、16、18、20、24、27、28、30、32、36、40、44、45、48
klbt
2003-10-19
打赏
举报
回复
好问题!我试试,抛砖引玉:
S说:我知道你不知道这两个数,但我也不知道。
----------------------------------------------------------------------------
说明该数字的素因子至少是3个(包括相同的,如2*2*3),否则P应该马上分解出来。
可能的有:
2*2*2=8
2*2*2*2=16
2*2*2*2*2=32
2*2*3=12
2*2*2*3=24
2*2*2*2*3=48
2*3*3=18
3*3*3=27
3*3*5=45
2*2*5=20
2*2*2*5=40
python实现
猜数字
游戏
欢迎光临我的blog!!!下面我将用python实现
猜数字
游戏。 用python实现
猜数字
游戏可以加深python初学者循环结构的理解和运用。
猜数字
游戏规则如下:电脑程序随机生成一个数字,作为
猜数字
游戏的最终答案,用户在键盘输入所
猜数字
。用户每猜一次程序都会做出相应的提示。若用户输入所猜的数字小于电脑随机生成的数字,则提示“你猜小了”;若大于,则提示“你猜大了”;若等于,则提示“恭喜你,猜对了”。 这里我们需要用到一个随机生成数字的库:random,使用如下: #导入随机生成模块 import
Java简单
猜数字
游戏
我们经常在日常生活中与朋友玩或者看到过别人玩
猜数字
游戏(数字炸弹),非常的有趣。现在我们通过java把这个
猜数字
游戏编写出来。 这个游戏的功能就是你出个数字、我来猜。 游戏操作如下: 1.后台预先生成一个1-100之间的随机数,用户键盘录入
猜数字
2.如果猜对了,打印“恭喜您,答对了” 3.如果猜错了 猜大了:打印“sorry,您猜大了!” 猜小了...
运用Python实现
猜数字
游戏
猜数字
游戏 一、
猜数字
猜数游戏是一个古老的密码破译类、益智类小游戏,通常由两个人参与,一个人设置一个数字,一个人
猜数字
,当
猜数字
的人说出一个数字,由出数字的人告知是否猜中:若猜测的数字大于设置的数字,出数字的人提示“很遗憾,你猜大了”;若猜测的数字小于设置的数字时,出数字的人提示“很遗憾,你猜小了”;若
猜数字
的人在规定的次数内猜中设置的数字,出数字的人提示“恭喜,猜数成功”。本实例要求编写程序,实现上述规则的
猜数字
游戏,并限制猜数机会只有5次...
Python之
猜数字
游戏
猜数字
游戏由两个人参与,一个人设置一个数字,一个人
猜数字
。当
猜数字
的人说出一个数字,由出数字的人告知是否猜中: 若猜测的数字大于设置的数字,出数字的人提示“很遗憾,你猜大了” 若猜测的数字小于设置的数字,出数字的人提示“很遗憾,你猜小了” 若
猜数字
的人在规定的次数内猜中设置的数字,出数字的人提出“恭喜,猜数成功!” 输入“q”则退出程序。
Python简单
猜数字
游戏
今天我们来用Python做一个简单的
猜数字
游戏,大家只要会使用基本的if语句和while循环语句都可以很简单的做出来 功能很简单 随机生成一个数 让玩家
猜数字
玩家可以猜多次,直到猜对为止,并在游戏结束后显示出玩家猜的次数 猜大了提示猜大了,猜小了提示猜小了 ''' 产生随机数 random.randint(start,end) 可以猜多次,直到才对了位置 如果猜错了给出提示 猜大了还是猜小了 ''' import random ran = random.randint(1,50) coun
非技术版
397
社区成员
11,521
社区内容
发帖
与我相关
我的任务
非技术版
PowerBuilder 非技术版
复制链接
扫一扫
分享
社区描述
PowerBuilder 非技术版
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章