aris
驱动牛犊
驱动牛犊
  • 注册日期2002-09-28
  • 最后登录2002-11-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3421回复:44

一个逻辑推理题,挺有意思的

楼主#
更多 发布于:2002-10-17 21:54
一种石头,在某一高度扔下就会碎,在这个高度以下不会碎,高度以上一定碎 现在有4个石头,1000层的楼房,需要测定这个石头破碎的高度 求最少多少次一定可以测出来
u_you
驱动中牛
驱动中牛
  • 注册日期2002-04-11
  • 最后登录2010-03-05
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-10-23 19:05

使我范傻了   :) :),  分已经给你拉,不过我很穷的,系统也只让我给你这么多分,看你答的这么辛苦,想多给你它也不让啊 :D :D :D
谢谢!谢谢!!谢谢!!!只要有分我就高兴。
狼,食肉目犬科犬属。外形和狼狗相似。 有狗的忠诚,但无狗的奴性。 [img]http://www.driverdevelop.com/forum/avatar/u_you_wolf.jpg[/img]
aris
驱动牛犊
驱动牛犊
  • 注册日期2002-09-28
  • 最后登录2002-11-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-10-23 13:46
[quote]我觉的这个解法有问题:
比如说 X(2,6) = 21
而实际上2块石头扔5次就可以解析21楼,方法如下:

1.楼层区间三分为(1,7)(9,14)(16,21)第一块石头从下往上测试8,15楼,无论是否破碎,两次内可选出一个区间,不凡设为(1,7)

2.第二块石头测试4楼,无论是否破碎,一次可选出区间(1,3)(5,7),设为(1,3)

3.余下两块石头扔两次显然可以解析3层的楼

所以总共的次数 2+1+2 = 5
即有 X(2,5) >= 21, 而表中X(2,5) = 15
 

可你好象用了四块石头. X(4,5) = 30 > 21;

另:
几时按\"改分\"将问题分数改为200分再放给我??? :D :D :D [/quote]


使我范傻了   :) :),  分已经给你拉,不过我很穷的,系统也只让我给你这么多分,看你答的这么辛苦,想多给你它也不让啊 :D :D :D
dzjhnld
驱动老牛
驱动老牛
  • 注册日期2002-09-30
  • 最后登录2002-11-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-10-23 11:27
第一块石头从501层扔。
如果碎了,第二块从第251层扔;否则从751层扔。(扔第一块石头,如果你有劲下500层楼拿。 :))
第三次从126层或376或626或876层扔。
第四次依次从下往上试,最多试124次。(举例:第一次碎了,第二次没碎,第三次没碎,那么从376层的上一层试到501层的下一层,即最多试124次。)
可见最多试124 + 3-----127次!

题外话:在第一层大概不要试,但于最后结果没有影响。第一层相当于C语言的第0层,但于最后结果也没有影响。

你知道个p,我以到过1000楼了,还没碎呢!! :mad: :mad: :mad: :P
天下风云出我辈 一入江湖岁月催 鸿图霸业谈笑中 不胜人生一场醉 罪过罪过!!
maqian
驱动中牛
驱动中牛
  • 注册日期2002-08-07
  • 最后登录2014-09-16
  • 粉丝2
  • 关注1
  • 积分12分
  • 威望120点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-10-23 11:21
第一块石头从501层扔。
如果碎了,第二块从第251层扔;否则从751层扔。(扔第一块石头,如果你有劲下500层楼拿。 :))
第三次从126层或376或626或876层扔。
第四次依次从下往上试,最多试124次。(举例:第一次碎了,第二次没碎,第三次没碎,那么从376层的上一层试到501层的下一层,即最多试124次。)
可见最多试124 + 3-----127次!

题外话:在第一层大概不要试,但于最后结果没有影响。第一层相当于C语言的第0层,但于最后结果也没有影响。
五花马,千金裘,呼儿将出换美酒。 我不喝酒,喝可乐。
u_you
驱动中牛
驱动中牛
  • 注册日期2002-04-11
  • 最后登录2010-03-05
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-10-22 19:15
大哥:――我以到了1000楼,还没碎――怎么办!! :D :D :D
休息,休息一会.

再找楼主算账.
 :P :P :P
狼,食肉目犬科犬属。外形和狼狗相似。 有狗的忠诚,但无狗的奴性。 [img]http://www.driverdevelop.com/forum/avatar/u_you_wolf.jpg[/img]
u_you
驱动中牛
驱动中牛
  • 注册日期2002-04-11
  • 最后登录2010-03-05
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-10-22 19:12
我觉的这个解法有问题:
比如说 X(2,6) = 21
而实际上2块石头扔5次就可以解析21楼,方法如下:

1.楼层区间三分为(1,7)(9,14)(16,21)第一块石头从下往上测试8,15楼,无论是否破碎,两次内可选出一个区间,不凡设为(1,7)

2.第二块石头测试4楼,无论是否破碎,一次可选出区间(1,3)(5,7),设为(1,3)

3.余下两块石头扔两次显然可以解析3层的楼

所以总共的次数 2+1+2 = 5
即有 X(2,5) >= 21, 而表中X(2,5) = 15
 

可你好象用了四块石头. X(4,5) = 30 > 21;

另:
几时按\"改分\"将问题分数改为200分再放给我??? :D :D :D
狼,食肉目犬科犬属。外形和狼狗相似。 有狗的忠诚,但无狗的奴性。 [img]http://www.driverdevelop.com/forum/avatar/u_you_wolf.jpg[/img]
dzjhnld
驱动老牛
驱动老牛
  • 注册日期2002-09-30
  • 最后登录2002-11-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-10-22 10:58
[quote]
我认为这个解法有错,例如说2块石头,表中说扔6次可以解析
21楼,我认为是不可能的。从第一层开始扔,1,3,6,10,15
5次,都没有碎,到21,碎了,然后一块石头判断21-15,可不是
1次能够搞定的阿。

不,不从第一层开始扔。
从第6层开始,如果碎了,再从第一层开始;  1 + 5 = 6
如果没碎,再去11楼。如碎,从7楼; 1 + 1 + 4 = 6
如还没碎,再至15楼。碎则从12楼; 1 + 1 + 1 + 3 = 6
如仍没碎,上18楼。碎至16楼; 1 + 1 + 1 + 1 + 2 = 6
又没碎,上20楼。碎去19; 1 + 1 + 1 + 1 + 1 + 1 = 6
没碎,上21楼。 1 + 1 + 1 + 1 + 1 + 1 = 6

[编辑 -  10/21/02 by  u_you] [/quote]
大哥:――我以到了1000楼,还没碎――怎么办!! :D :D :D
天下风云出我辈 一入江湖岁月催 鸿图霸业谈笑中 不胜人生一场醉 罪过罪过!!
aris
驱动牛犊
驱动牛犊
  • 注册日期2002-09-28
  • 最后登录2002-11-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-10-22 10:48
我觉的这个解法有问题:
比如说 X(2,6) = 21
而实际上2块石头扔5次就可以解析21楼,方法如下:

1.楼层区间三分为(1,7)(9,14)(16,21)第一块石头从下往上测试8,15楼,无论是否破碎,两次内可选出一个区间,不凡设为(1,7)

2.第二块石头测试4楼,无论是否破碎,一次可选出区间(1,3)(5,7),设为(1,3)

3.余下两块石头扔两次显然可以解析3层的楼

所以总共的次数 2+1+2 = 5
即有 X(2,5) >= 21, 而表中X(2,5) = 15
HuYuguang
论坛版主
论坛版主
  • 注册日期2001-04-25
  • 最后登录2013-04-29
  • 粉丝3
  • 关注1
  • 积分92分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分1分
  • 专家分0分
9楼#
发布于:2002-10-22 02:34
[quote]
我认为这个解法有错,例如说2块石头,表中说扔6次可以解析
21楼,我认为是不可能的。从第一层开始扔,1,3,6,10,15
5次,都没有碎,到21,碎了,然后一块石头判断21-15,可不是
1次能够搞定的阿。

不,不从第一层开始扔。
从第6层开始,如果碎了,再从第一层开始;  1 + 5 = 6
如果没碎,再去11楼。如碎,从7楼; 1 + 1 + 4 = 6
如还没碎,再至15楼。碎则从12楼; 1 + 1 + 1 + 3 = 6
如仍没碎,上18楼。碎至16楼; 1 + 1 + 1 + 1 + 2 = 6
又没碎,上20楼。碎去19; 1 + 1 + 1 + 1 + 1 + 1 = 6
没碎,上21楼。 1 + 1 + 1 + 1 + 1 + 1 = 6

[编辑 -  10/21/02 by  u_you] [/quote]

呵呵,不错。
不再回忆从前,我已经生活在幸福当中。
u_you
驱动中牛
驱动中牛
  • 注册日期2002-04-11
  • 最后登录2010-03-05
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-10-21 23:32

我认为这个解法有错,例如说2块石头,表中说扔6次可以解析
21楼,我认为是不可能的。从第一层开始扔,1,3,6,10,15
5次,都没有碎,到21,碎了,然后一块石头判断21-15,可不是
1次能够搞定的阿。

不,不从第一层开始扔。
从第6层开始,如果碎了,再从第一层开始;  1 + 5 = 6
如果没碎,再去11楼。如碎,从7楼; 1 + 1 + 4 = 6
如还没碎,再至15楼。碎则从12楼; 1 + 1 + 1 + 3 = 6
如仍没碎,上18楼。碎至16楼; 1 + 1 + 1 + 1 + 2 = 6
又没碎,上20楼。碎去19; 1 + 1 + 1 + 1 + 1 + 1 = 6
没碎,上21楼。 1 + 1 + 1 + 1 + 1 + 1 = 6

[编辑 -  10/21/02 by  u_you]
狼,食肉目犬科犬属。外形和狼狗相似。 有狗的忠诚,但无狗的奴性。 [img]http://www.driverdevelop.com/forum/avatar/u_you_wolf.jpg[/img]
HuYuguang
论坛版主
论坛版主
  • 注册日期2001-04-25
  • 最后登录2013-04-29
  • 粉丝3
  • 关注1
  • 积分92分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分1分
  • 专家分0分
11楼#
发布于:2002-10-21 23:20
这道题我们应反过来考虑,就是用a块石头扔b次至多一定可分辨层数X(a,b)。

先从最简装的一块石头考虑,很显然,
X(1,1) = 1
X(1,2) = 2
X(1,3) = 3
.
X(1,i) = i

再考虑二块石头,显而易见
X(2,1) = 1

对于X(2,2),我们可这样考虑,当我们扔第一次后,有两种可能:破和不破.

如果石头破了,则

1,我们还剩1块石头.
2,我们下一次只需检查下面的楼层.
3,我们还剩1次机会.
即我们还可分辨下面的 X(1,1) 层.

如果石头没破,则

1,我们还剩2块石头.
2,我们下一次只需检查上面的楼层.
3,我们还剩1次机会.
即我们还可分辨上面的 X(2,1) 层.

我们知道,X(1,1) = 1.所以我们第一次从第二层开始扔,如果石头破了,则再测试第一层.如果没破则再测试第三层.
所以用2块石头扔2次至多一定可分辨
1 + X(1,1) + X(2,1) = 1 + 1 + 1 = 3 层.

不失一般性,我们考虑
X(2,i)

对X(2,i),我们这样考虑,当我们扔第一次后,有两种可能:破和不破.

如果石头破了,则

1,我们还剩1块石头.
2,我们下一次只需检查下面的楼层.
3,我们还剩i-1次机会.
即我们还可分辨下面的 X(1,i-1) 层.

如果石头没破,则

1,我们还剩2块石头.
2,我们下一次只需检查上面的楼层.
3,我们还剩i-1次机会.
即我们还可分辨上面的 X(2,i-1) 层.


X(2,i) = 1 + X(1,i-1) + X(2,i-1)

接下来我们考虑
X(i1,i2)

同样,对 X(i1,i2),我们还是这样考虑,当我们扔第一次后,有两种可能:破和不破.

如果石头破了,则
1,我们还剩i1-1块石头.
2,我们下一次只需检查下面的楼层.
3,我们还剩i2-1次机会.

如果石头没破,则
1,我们还剩i1块石头.
2,我们下一次只需检查上面的楼层.
3,我们还剩i2-1次机会.


X(i1,i2) = 1 + X(i1-1,i2-1) + X(i1,i2-1)

很明显
无论你有几块石头,扔一次只能测试一层.


X(i,1) = 1.

这样,我们可制出如下表:

扔的次数: 1 2 3 04 05 06 007 008 009 010 011 012 013
分辨层数:
一块石头: 1 2 3 04 05 06 007 008 009 010 011 012 013
二块石头: 1 3 6 10 15 21 028 036 045 055 066 078 091
三块石头: 1 3 7 14 25 41 063 092 129 175 231 298 377
四块石头: 1 3 7 15 30 56 098 162 255 385 561 793 1092
五块石头: 1 3 7 15 31 62 119 218 381 637 1023
六块石头: 1 3 7 15 31 63 126 246 465 847 1485

也就是说用4块石头扔12次至多一定可分辨793层,扔13次至多一定可分辨1092层.

所以
1000层的楼房,

用4块石头,扔13次一定可测试出来.
用5块石头,扔11次一定可测试出来.
 


我认为这个解法有错,例如说2块石头,表中说扔6次可以解析
21楼,我认为是不可能的。从第一层开始扔,1,3,6,10,15
5次,都没有碎,到21,碎了,然后一块石头判断21-15,可不是
1次能够搞定的阿。
不再回忆从前,我已经生活在幸福当中。
u_you
驱动中牛
驱动中牛
  • 注册日期2002-04-11
  • 最后登录2010-03-05
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-10-21 22:32
1000的分界点是382左右!而382的是146,呵呵!这样算下去看看有多少的差别

我的第一个分界点是299,第二个分界点是67,531。而且与石头数有关。
狼,食肉目犬科犬属。外形和狼狗相似。 有狗的忠诚,但无狗的奴性。 [img]http://www.driverdevelop.com/forum/avatar/u_you_wolf.jpg[/img]
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-10-21 21:36
1000的分界点是382左右!而382的是146,呵呵!这样算下去看看有多少的差别
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-10-21 21:34
你看看你列出来的那个表,跟黄金分割法里面算出来的有多少的差别啊!
u_you
驱动中牛
驱动中牛
  • 注册日期2002-04-11
  • 最后登录2010-03-05
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2002-10-21 21:32
呵呵!劳烦狼兄再用黄金分割法再看看
我认为“黄金分割法”是一种基于统计理论的算法。是统计最优,非一定最好。
狼,食肉目犬科犬属。外形和狼狗相似。 有狗的忠诚,但无狗的奴性。 [img]http://www.driverdevelop.com/forum/avatar/u_you_wolf.jpg[/img]
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2002-10-21 21:18
呵呵!劳烦狼兄再用黄金分割法再看看
u_you
驱动中牛
驱动中牛
  • 注册日期2002-04-11
  • 最后登录2010-03-05
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2002-10-21 21:10
这道题我们应反过来考虑,就是用a块石头扔b次至多一定可分辨层数X(a,b)。

先从最简装的一块石头考虑,很显然,
X(1,1) = 1
X(1,2) = 2
X(1,3) = 3
.
X(1,i) = i

再考虑二块石头,显而易见
X(2,1) = 1

对于X(2,2),我们可这样考虑,当我们扔第一次后,有两种可能:破和不破.

如果石头破了,则

1,我们还剩1块石头.
2,我们下一次只需检查下面的楼层.
3,我们还剩1次机会.
即我们还可分辨下面的 X(1,1) 层.

如果石头没破,则

1,我们还剩2块石头.
2,我们下一次只需检查上面的楼层.
3,我们还剩1次机会.
即我们还可分辨上面的 X(2,1) 层.

我们知道,X(1,1) = 1.所以我们第一次从第二层开始扔,如果石头破了,则再测试第一层.如果没破则再测试第三层.
所以用2块石头扔2次至多一定可分辨
1 + X(1,1) + X(2,1) = 1 + 1 + 1 = 3 层.

不失一般性,我们考虑
X(2,i)

对X(2,i),我们这样考虑,当我们扔第一次后,有两种可能:破和不破.

如果石头破了,则

1,我们还剩1块石头.
2,我们下一次只需检查下面的楼层.
3,我们还剩i-1次机会.
即我们还可分辨下面的 X(1,i-1) 层.

如果石头没破,则

1,我们还剩2块石头.
2,我们下一次只需检查上面的楼层.
3,我们还剩i-1次机会.
即我们还可分辨上面的 X(2,i-1) 层.


X(2,i) = 1 + X(1,i-1) + X(2,i-1)

接下来我们考虑
X(i1,i2)

同样,对 X(i1,i2),我们还是这样考虑,当我们扔第一次后,有两种可能:破和不破.

如果石头破了,则
1,我们还剩i1-1块石头.
2,我们下一次只需检查下面的楼层.
3,我们还剩i2-1次机会.

如果石头没破,则
1,我们还剩i1块石头.
2,我们下一次只需检查上面的楼层.
3,我们还剩i2-1次机会.


X(i1,i2) = 1 + X(i1-1,i2-1) + X(i1,i2-1)

很明显
无论你有几块石头,扔一次只能测试一层.


X(i,1) = 1.

这样,我们可制出如下表:

扔的次数: 1 2 3 04 05 06 007 008 009 010 011 012 013
分辨层数:
一块石头: 1 2 3 04 05 06 007 008 009 010 011 012 013
二块石头: 1 3 6 10 15 21 028 036 045 055 066 078 091
三块石头: 1 3 7 14 25 41 063 092 129 175 231 298 377
四块石头: 1 3 7 15 30 56 098 162 255 385 561 793 1092
五块石头: 1 3 7 15 31 62 119 218 381 637 1023
六块石头: 1 3 7 15 31 63 126 246 465 847 1485

也就是说用4块石头扔12次至多一定可分辨793层,扔13次至多一定可分辨1092层.

所以
1000层的楼房,

用4块石头,扔13次一定可测试出来.
用5块石头,扔11次一定可测试出来.
狼,食肉目犬科犬属。外形和狼狗相似。 有狗的忠诚,但无狗的奴性。 [img]http://www.driverdevelop.com/forum/avatar/u_you_wolf.jpg[/img]
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2002-10-21 18:49
哈哈!碎了石头就从一块变成多块啦
aris
驱动牛犊
驱动牛犊
  • 注册日期2002-09-28
  • 最后登录2002-11-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2002-10-21 17:48
一个思路是:第一个石头先把1000层划分成a块,第二块石头把每块划分成b小块,第三块再化c小块,第四块遍历最小的小块。
 
(a-1)+(b-1)+(c-1)+(1000/abc)-1 最小值
上一页
游客

返回顶部