某教授给他的三个学生的脑门上各贴了一张纸条,并告诉他们:每个纸条上都写了一个正整数,并且其中两个的和等于第三个!(每个人可以看见另两个数,但看不见自己的)
教授问第一个学生:你能猜出自己的数吗?回答:不能;
问第二个,回答:不能;
问第三个,回答:不能;
再问第一个,仍然回答:不能;
再问第二个,仍然回答:不能;
再问第三个:这次回答:我猜出来了,是144!
下面请问:
1 第一个学生脑门上的纸条写的是什么数?
这个能用C或其他算出来吗?
让人脑子抽筋的逻辑问题
- seeghost
- 帖子: 35
- 注册时间: 2007-08-16 9:37
- 来自: 广东东莞
让人脑子抽筋的逻辑问题
~月亮好大,像个饼...
-
- 帖子: 2841
- 注册时间: 2006-09-11 22:47
- hethe
- 帖子: 3666
- 注册时间: 2005-08-01 9:14
- solcomo
- 帖子: 2838
- 注册时间: 2007-04-25 13:12
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
- seeghost
- 帖子: 35
- 注册时间: 2007-08-16 9:37
- 来自: 广东东莞
- laborer
- 帖子: 1016
- 注册时间: 2005-10-25 11:15
- 联系:
代码: 全选
#!/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
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