可怜的虫子
一只虫子正准备从杆子的一头爬到另一头, 杆子长1米, 虫子每分钟
只能爬行1厘米. 这是一个受到魔鬼诅咒的杆子, 当虫子爬上杆子后,
每当它爬完一个整数分钟, 杆子就均匀的伸长1米. 假设虫子从零时刻爬
上杆子, 虫子永远不死, 它有可能爬到杆子的那一头么? why?如果能够爬完,那么它大概需要花费多长的时间? 可怜
的虫子.
问题点数:40、回复次数:16Top
1 楼yug(寒鹤)回复于 2001-06-10 11:31:00 得分 0
这是一个悖论问题。
注意到在秆子伸长时虫子在杆子上相对位置不会变,所以我们只需考虑虫子相对位置的变化。
第n分钟到第n+1分钟,杆长100*n,虫子爬行1,相对位置增加1/(100*n)
则虫子在第n分钟的相对位置为:(1/100)*(1+1/2+...+1/n)
现在的问题是:对于数列a[n]=1/n,S[n]=a[1]+...+a[n]在什么时候等于100,
因为a[n]是不收敛的,所以虫子肯定是可以爬到杆子的那一头的。
至于多长时间,我估计是在中国队夺得世界杯的时候,那时我们再为虫子和中国队庆祝吧!!!!!!!!!中国队万岁!虫子万岁!......
Top
2 楼SoftWare1999(Delphi->VB->C)回复于 2001-06-10 11:48:00 得分 0
设虫子长Lcm
如果L不为整数,则可以时间(100-L)min?
or sqrt(1/4.9)Top
3 楼duz()回复于 2001-06-10 12:09:00 得分 0
yug已经可以获得35分了,不过我也不需要计算精确的时间呀,只需要给一个大概的时间不就可以了吗?谁过来那最后的5分?Top
4 楼duz()回复于 2001-06-10 12:11:00 得分 0
to SoftWare1999,虫子的长度忽略不计。Top
5 楼SoftWare1999(Delphi->VB->C)回复于 2001-06-10 12:23:00 得分 0
怎么可能爬完!
虫子爬了一分钟爬了1cm,而杆子伸长了1m。
杆子的伸长远大于虫子前进的距离?Top
6 楼yug(寒鹤)回复于 2001-06-10 13:11:00 得分 35
好吧,我们来估计一下时间,
考虑:1/2 =2^n * 1/2^(n+1)< 1/(2^n+1)+....+1/2^(n+1)< 2^n * 1/2^n
从n=1开始放缩
s=1+1/2+1/3+...+1/2^(n+1)
=1+1/2+[1/(2^1+1)+1/(2^(1+1)]+.....+[1/(2^n+1)+....+1/2^(n+1)]
则3/2+n > s > 3/2 + n/2
当n很大时,3/2也可以放掉,即 n > s > n/2
取n=100,即第2^101 分钟,s<100
取n=200,即第2^201 分钟,s>100
也就是说:虫子爬到头的时间在 2^101 分钟 至 2^201 分钟之间
Top
7 楼duz()回复于 2001-06-10 13:13:00 得分 0
是能够爬完的,不过yug(寒鹤)说得也太过分了点,其实只要中国队有这个虫子1%的毅力,那么早夺得世界杯了。
有一点是可以肯定的,假设在宇宙诞生之时,虫子就开始爬杆了,那么现在才走了万里长征的第一步。Top
8 楼SoftWare1999(Delphi->VB->C)回复于 2001-06-10 14:58:00 得分 0
均匀的伸长1米,是指
1234567890伸长一次就变为11223344556677889900?
Top
9 楼duz()回复于 2001-06-10 15:52:00 得分 0
也就是说任何一充分小的小段伸长的比例都是一样的。第一次每个地方都伸长到两倍,第二次都伸长到3/2,依次类推。Top
10 楼yrs(衣若水)回复于 2001-06-10 16:41:00 得分 1
虫子第一次爬秆子的1/100(假设此时秆子的长度还未变化).
这时,秆子变长,但虫子还是在秆子长度的1/100处(因为秆子是均匀变化的)
虫子第二次爬秆子的1/200.
虫子第三次爬秆子的1/300.
......
虫子第N次爬秆子的1/(100*N)
也就是说:在N分钟时,假设此时秆子还未伸长(我们给予虫子足够的同情心)
虫子在秆子的(1/100)*(1+1/2+1/3+...+1/N)处.
问题即变为求方程(1+1/2+1/3+...+1/N)=100的解.
关于数列的问题很久没遇到过了,左边好象有什么公式可以简化...
菠萝....忘光光啦,不好意思 :pTop
11 楼leaf_cq(不知道怎么爱国~!)回复于 2001-06-10 17:56:00 得分 0
第1分钟:伸长前:s=1 在 1 /100 处. 伸长后:s=2 在 2 /200 = 1 /100 处
第2分钟:伸长前:s1=2 + 1 在 3 /200 处. 伸长后:s2=6 在 6 /400 = 1.5 /100 处
第3分钟:伸长前:s1=6 + 1 在 7 /400 处. 伸长后:s2=14 在 14/800 = 1.75 /100 处
第4分钟:伸长前:s1=14 + 1 在 15/800 处. 伸长后:s2=30 在 30/1600= 1.875/100 处
第5分钟:伸长前:s1=30 + 1 在 31/1600处. 伸长后:s2=62 在 62/3200= 1.9375/100 处
……
第n分钟:伸长前:s1=2^n - 1 在 s1/2^(n-1) * 100处.
伸长后:s2=2^(n+1) - 2 在 s2/2^n * 100 处.
可见:当(2^n - 1)/(2^(n-1) * 100) = 1 时,虫子才能爬到另一头,可是不幸的是
(2^n - 1)/(2^(n-1) * 100) 的极限是2/100,可怜的虫子爬到永久都爬不到杆子的
2/100,我劝它还是放弃吧!Top
12 楼SoftWare1999(Delphi->VB->C)回复于 2001-06-10 19:27:00 得分 1
我已经想明白了(开始理解错了题义)
我的估计2^100---2^197分钟Top
13 楼duz()回复于 2001-06-11 08:01:00 得分 0
SoftWare的估计没错,不过稍微粗糙了一点。Top
14 楼严黎斌()回复于 2001-06-11 16:57:00 得分 3
这其中要用到欧拉公式:
1+1/2 + 1/3 +1/4 + .... + 1/n
当n趋向于无穷大的时候,上述公式趋向于
ln(n) + gama
gama=0.577....是一个常数。
好了,现在大家可以估算答案了。
Top
15 楼yug(寒鹤)回复于 2001-06-11 18:51:00 得分 0
duz(肚子);
怎么不给分啊?Top
16 楼duz()回复于 2001-06-11 19:50:00 得分 0
OK,可以给分了,正如严黎斌所说,因为
lim {1+1/2+...+1/n - ln(n)} = gama
所以我们要求ln(n)>=100-gamma
即需要的时间大于exp(99)分。 Top




