当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 7 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 让人脑子抽筋的逻辑问题
帖子发表于 : 2008-05-06 18:53 
头像

注册: 2007-08-16 9:37
帖子: 35
地址: 广东东莞
送出感谢: 0 次
接收感谢: 0 次
某教授给他的三个学生的脑门上各贴了一张纸条,并告诉他们:每个纸条上都写了一个正整数,并且其中两个的和等于第三个!(每个人可以看见另两个数,但看不见自己的)
教授问第一个学生:你能猜出自己的数吗?回答:不能;
问第二个,回答:不能;
问第三个,回答:不能;
再问第一个,仍然回答:不能;
再问第二个,仍然回答:不能;
再问第三个:这次回答:我猜出来了,是144!
下面请问:
1 第一个学生脑门上的纸条写的是什么数?

这个能用C或其他算出来吗?


_________________
~月亮好大,像个饼...


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-05-06 19:09 

注册: 2006-09-11 22:47
帖子: 2841
送出感谢: 0 次
接收感谢: 4
逻辑推理这种事情,关键不在于逻辑推理的过程本身,而在于建模,也就是说如何用数学方法把它表达出来。——这个题目这么简单,能把它表达出来的时候,大脑早就推理出来了。

计算机辅助逻辑推理只用于推理比较复杂的事情。


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-05-06 19:12 
头像

注册: 2005-08-01 9:14
帖子: 3666
送出感谢: 0 次
接收感谢: 0 次
好奇,第三个学生怎么可能猜得出来?


_________________
Gedanken ohne Inhalt sind leer .Anschauungen ohne Begriffe sind blind.


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-05-06 19:17 
头像

注册: 2007-04-25 13:12
帖子: 2838
送出感谢: 0 次
接收感谢: 0 次
我想要答案 :shock:


_________________
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖

☠☯⚔⚓☣☦☃☕
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-05-06 19:35 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
x1+x2=x3
x3=144 这个是前提,否则他猜不出自己的。
x1=1...143遍历

引用:
第三个学生怎么可能猜得出来?
那不是猜出来的。是题目的一部分。是条件。否则你也猜得出来。

引用:
第一个学生脑门上的纸条
条件还少。比如某人只会加法。或者是傻子。


_________________
● 鸣学


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2008-05-07 2:04 
头像

注册: 2007-08-16 9:37
帖子: 35
地址: 广东东莞
送出感谢: 0 次
接收感谢: 0 次
答案不止一个吧!至于多少,我也不知...反正发上来,大家看看,能解得出来最好...


_________________
~月亮好大,像个饼...


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2008-05-07 4:24 
头像

注册: 2005-10-25 11:15
帖子: 1016
送出感谢: 0 次
接收感谢: 1
代码:
#!/usr/bin/python
# -*- coding: utf-8 -*-

n = 10

print "某教授给他的三个学生的脑门上各贴了一张纸条,并告诉他们:每个纸条上都" \
    "写了一个正整数,并且其中两个的和等于第三个!(每个人可以看见另两个数," \
    "但看不见自己的)教授问第一个学生:你能猜出自己的数吗?回答:",
for i in range(1, n):
    print "不能;"
    print ("再" if i>=3 else "") + "问第" + ("一","二","三")[i % 3] + \
        "个,回答:",
print "我猜出来了!"
print "请问:这三个数分别是多少?"
print
print "答:这三个数可以是下列组合,其中x为任意正整数:"

knowledge = [(1,0,0), (0,1,0), (0,0,1)]

def learn(a, b, c):
    t = [i for i in (a, b, c) if i > 0]
    if len(t) != 2:
        return
    囗囗囗, t = t
    while t % 囗囗囗:
        囗囗囗, t = t%囗囗囗, 囗囗囗
    t = (a/囗囗囗, b/囗囗囗, c/囗囗囗)
    if t not in knowledge:
        knowledge.append(t)

a, b, c = 2, 0, 1
z = [0, 0, 0]
for i in range(n):
    j = len(knowledge)
    a, b, c = b, c, a
    for k in [k for k in knowledge if k[a]]:
        z[a], z[b], z[c] = 0, k[a]-k[b], k[a]+k[c]
        learn(*z)
        z[a], z[b], z[c] = 0, k[a]+k[b], k[a]-k[c]
        learn(*z)

for k in knowledge[j:]:
    z[a], z[b], z[c] = k[b]+k[c], k[c], k[b]
    print "%dx %dx %dx" % tuple(z)

运行结果
代码:
某教授给他的三个学生的脑门上各贴了一张纸条,并告诉他们:每个纸条上都写了一个正整数,并且其中两个的和等于第三个!(每个人可以看见另两个数,但看不见自己的)教授问第一个学生:你能猜出自己的数吗?回答: 不能;
问第二个,回答: 不能;
问第三个,回答: 不能;
再问第一个,回答: 不能;
再问第二个,回答: 不能;
再问第三个,回答: 不能;
再问第一个,回答: 不能;
再问第二个,回答: 不能;
再问第三个,回答: 不能;
再问第一个,回答: 我猜出来了!
请问:这三个数分别是多少?

答:这三个数可以是下列组合,其中x为任意正整数:
13x 8x 5x
18x 11x 7x
11x 7x 4x
14x 9x 5x
19x 12x 7x
30x 19x 11x
9x 5x 4x
16x 9x 7x
11x 6x 5x
20x 11x 9x
17x 10x 7x
22x 13x 9x
19x 11x 8x
26x 15x 11x
......


_________________
hreiser@oakland:~$ killall -9 wife
police@oakland:~$ sudo find / -user hreiser
court@oakland:~$ sudo mv /home/hreiser /jail/
court@oakland:~$ sudo usermod -d /jail/hreiser -s "/usr/sbin/chroot /jail/" hreiser


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 7 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译