设
M(r,s)
是用 r 块石头,扔 s 次, 最多可以测的楼层数。正如 Hu 兄说的,在
2004
年4
月我曾给出过递推公式,独木桥在细节上作了修正,这次我又检查了一下,发现还要修正一点。以下是我现在的解答:1。两 块 石 头 , 扔 i 次 , 最 多 可 测
m(2,i)[=1+2+3+...+i] 层 楼 www.ddhw.com
事实上, 先 试 i 层 楼 , 如 果 碎 了 , 只 剩 一 块 石 头 , 只 好 老 老 实 实 从 第 一 层 试 起 , 最 多 扔 (i-1) 次 就 能 测 出 哪 一 层 。
如 果 不 碎 , 仍 有 两 块 , 但 只 有 (i-1) 次 扔 的 机 会 , 所 以 从 (i+i-1) 层 试 ...
所 以
m(2,i)=i+(i-1)+...+1
M(2,44)=1+2+3+...+44=990,
M(2,45)=1+2+3+...+45=1035
所以,两块石头至少扔 45 次就一定可以测出哪层正好摔碎。www.ddhw.com
2。三 块 石 头 , 扔 j 次 , 最 多 可 测
m(3,j)=1+ Sum[1+(m(2,i)], i from 1 to (j-1)] 层 楼
四 块 石 头 , 扔 k 次 , 最 多 可 测
m(4,k)=1+Sum[1+m(3,j)], j from 1 to (k-1)] 层 楼 www.ddhw.com
以 此 类 推 。 。 。
4 块石头至少扔 13 次就一定可以测出哪层正好摔碎。
3。由此我只能得到这个不是递推的公式:
M(4,k)=1/2* {(k-1)*(k+2)+Sum[(k-i)*(i-1)*i]} ( i is from 2 to (k-1) )
附:我当时给的公式:
4块石头,1000层楼最少需扔12次
两 块 石 头 , 扔 i 次 , 最 多 可 测
m(2,i)[=1+2+3+...+i] 层 楼
三 块 石 头 , 扔 j 次 , 最 多 可 测
m(3,j)[=sum(m(2,i)), i from 1 to (j-1)] 层 楼 www.ddhw.com
四 块 石 头 , 扔 k 次 , 最 多 可 测
m(4,k)[=sum(m(3,j)), j from 1 to (k-1)] 层 楼
以 此 类 推 。 。 。
独木桥的修正:
野菜花的公式应作一点修改:
两 块 石 头 , 扔 i 次 , 最 多 可 测
m(2,i)[=1+2+3+...+i] 层 楼
三 块 石 头 , 扔 j 次 , 最 多 可 测
m(3,j)[=1+sum(m(2,i)), i from 1 to (j-1)] 层 楼
(顶顶华闻 www.topchinesenews.com)
四 块 石 头 , 扔 k 次 , 最 多 可 测
m(4,k)[=1+sum(m(3,j)), j from 1 to (k-1)] 层 楼
4块石头,1000层楼,我的计算最少需扔13次 .