免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: covisd
打印 上一主题 下一主题

一道关于蜗牛爬绳子的题目。 [复制链接]

论坛徽章:
0
31 [报告]
发表于 2007-10-06 13:47 |只看该作者

上面的方程左边错了,应该是一个很复杂的方程

应该有解        蜗牛位置      绳长度             比率

第一天早上      0                     1000      
         晚上      1                     1000              1/1000   
第二天早上      1+1                 2000
        晚上       1+1+1              2000           3/2000
第三天早上      1+1+1 + (1+1+1)*1/3   3000
        晚上       5                       3000          5/3000
应该可以追得上

论坛徽章:
0
32 [报告]
发表于 2007-10-06 14:10 |只看该作者
是一个递归问题,递归方程是:f(x)=[f(x-1)+1]*2,f(1)=2,可以写程序计算,当结果等于1000*(x+1)时,计算完毕,此时x的值即为结果。

论坛徽章:
0
33 [报告]
发表于 2007-10-06 14:31 |只看该作者

ls的*2 不对吧

要知道每次延伸的距离不一样的只有第一个是*2  后面都因该是个比率

论坛徽章:
0
34 [报告]
发表于 2007-10-06 14:38 |只看该作者
原帖由 water_wf 于 2007-10-6 14:31 发表
要知道每次延伸的距离不一样的只有第一个是*2  后面都因该是个比率

恩,考虑漏了,再想想

论坛徽章:
0
35 [报告]
发表于 2007-10-06 14:42 |只看该作者
改一下,改为f(x)=[f(x-1)+1]*(1/x + 1),f(1)=2

论坛徽章:
0
36 [报告]
发表于 2007-10-06 14:49 |只看该作者
17楼的想法跟我在8楼的想法是一样的,
解是x=e^1000天

论坛徽章:
0
37 [报告]
发表于 2007-10-06 15:06 |只看该作者
原帖由 金刚钻 于 2007-10-6 13:40 发表
17楼的方程没有解,那也就是爬不到了



如何无解?
1/1000 ,1/2000 ,1/((n-1)*1000) , 1/(n*1000)
是一个不收敛的数列,其和并无极限

论坛徽章:
0
38 [报告]
发表于 2007-10-06 16:41 |只看该作者
均匀拉长,就是说蜗牛不动,但是蜗牛距离它爬行的开始段距离也会变长!

论坛徽章:
0
39 [报告]
发表于 2007-10-06 17:04 |只看该作者

我理解到达不了

我们以没天的早上起来看前天的结果吧:
蜗牛走过的距离f(1)=2  绳子长 l(1)=2000

f(1)=2
l(1)=2000

f(n)=(f(n-1)+1)*(1+1000/l(n-1))
l(n)=1000+1000*n

f(n)=(f(n-1)+1)*(1+1000/1000*n)
f(n)=(f(n-1)+1)*(1+1/n)
f(n)=(f(n-1)+1)*(n+1)/n

当 n增大 (n+1)/n崔近于1,蜗牛走到某个固定的比例处就无法继续前进了。

论坛徽章:
0
40 [报告]
发表于 2007-10-06 17:35 |只看该作者

  1. #include <stdio.h>

  2. #define CHGLONG        1000.0

  3. int main()
  4. {
  5.         int day = 1;
  6.         double shengchang = 2000;
  7.         double woniu_pos = 2.0;                //蜗牛第day天绳子拉长后所在的位置。

  8.         while( woniu_pos < shengchang )
  9.         {
  10.                 woniu_pos++;                //爬1米
  11.                 day++;                        //过去1天
  12.                 shengchang += CHGLONG;        //拉长绳子
  13.                 // 第n天拉长後后,绳子变化率位 n/n-1;
  14.                 woniu_pos *= ( day / day - 1);                //拉长绳子后调整蜗牛所在位置
  15.         }
  16.         printf("%i", day);
  17.         return 0;
  18. }
复制代码

这是我解决这个问题所写的代码,经过运行观察,这是一个死循环,就是说永远不会有爬到头的一天。
蜗牛第n天所在的位置可有一个递推的公式给出,

f(n) = (f(n-1) + 1) * (n / (n-1))    n>=2
f(1) = 2                    //因为爬一米后,拉伸1倍,相当于爬2米。         

而绳第n天长为: 1000(n+1)

n越趋近于无穷大, n/n-1越趋近於1

结论: 蜗牛不能爬到终点。

不知谁能给出一个严格的证明 f(n) < 1000(n+1)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP