免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
0
81 [报告]
发表于 2007-10-08 10:48 |只看该作者
理论上是可以达到的
实际上是达不到的


原帖由 tailuo 于 2007-10-8 10:41 发表
这是一个很典型的悖论..
理论上说是到达不了的..
但是实际中是可以到达的..

论坛徽章:
0
82 [报告]
发表于 2007-10-08 12:33 |只看该作者
我觉得这个问题的关键是,怎么证明绳子拉长之后,蜗牛的位置?蜗牛只能算是绳子上的一个点,每次拉长之后,这个点在那?

论坛徽章:
0
83 [报告]
发表于 2007-10-08 12:38 |只看该作者
题目的意思可能是绳子的开始爬的一端固定,拉另一端。

论坛徽章:
0
84 [报告]
发表于 2007-10-08 12:59 |只看该作者
参看68楼的那个引文,就一切明了意思了
关键是算法

论坛徽章:
0
85 [报告]
发表于 2007-10-08 13:01 |只看该作者
原帖由 UCfree 于 2007-10-7 13:39 发表
只要比较白天的时候 蜗牛的位置是否大于等于绳子的长度
设第n天蜗牛的位置 An(这里的n是下标) , 则绳子长度为 1000 * n.
  公式 : An = A(n-1) * ( n / (n - 1)) + 1
(蜗牛的位置 =  蜗牛前一天的位置 * 晚上绳子变化的比例 + 爬行的距离(1米))  进行迭代就是了
            if ((int)An == 1000 * n)
            {
                  n就是结果拉;
            }


假设你有一个非常强大的计算机,128个核心,每个核心每秒能够迭代10^10次;如果128个核心全用来迭代,每秒大约可以迭代10^12次;再假设你的计算机永远不会溢出;

蜗牛爬完的天数大约为1.96e434;这样你的计算机至少需要迭代10e422秒;一年约有3.9e5秒,所以不休止的工作,你的电脑至少需要计算10e416年。整个宇宙的能量估计都被你的电脑用完了

论坛徽章:
0
86 [报告]
发表于 2007-10-08 13:03 |只看该作者
原帖由 2eye 于 2007-10-8 13:01 发表


假设你有一个非常强大的计算机,128个核心,每个核心每秒能够迭代10^10次;如果128个核心全用来迭代,每秒大约可以迭代10^12次;再假设你的计算机永远不会溢出;

蜗牛爬完的天数大约为1.96e434;这样你的 ...

有意思,快成NP问题了

论坛徽章:
0
87 [报告]
发表于 2007-10-08 13:09 |只看该作者
记第n个白天时绳子的长度为x(n),则易见x(1) = 1000, x(2) = 2000, ..., x(n) = n*1000;
记第n个白天结束而晚上未开始前蜗牛距绳子顶端为y(n),  易见 y(1) = 999,  n >= 2时,有第归公式
                                   y(n) = y(n-1) *  x(n) / x(n-1) -1 = y(n-1)*n/(n-1) - 1
记 z(n) = y(n)/n,由上式可得:
                                   z(n) = z(n-1) - 1/n
迭加求第归数列通项得:
                                  z(n) = z(1) - (1/2+ 1/3 + ... + 1/n) = 1000 - (1 + 1/2 + 1/3 + ... + 1/n)
注意到无穷级数1 + 1/2 + 1/3 + ... + 1/n是发散的:

1 + 1/2 + (1/3 + 1/4) + (1/5 + 1/6 + 1/7 + 1/8 ) + (1/9 + 1/10 + ... + 1/16) + ... + (1/(2^n +1) + 1/(2^n+2) +... + 1/2^(n+1)) + ...  
> 1 + 1/2 + (1/4 + 1/4) + (1/8 + 1/8 + 1/8 + 1/8 ) + ...
=1 + (n+1)/2

至少当n = 2^1998时, z(n) < 1000 - (1 + 1998/2) = 0 此时亦有y(n) < 0


结论是:蜗牛在2^1998天前一定可以爬到顶端。
不过世界末日会比那来的要早的多... 

刚看到前面貌似已经有结果了

[ 本帖最后由 七弦琴 于 2007-10-8 13:19 编辑 ]

论坛徽章:
0
88 [报告]
发表于 2007-10-08 13:41 |只看该作者

回复 #79 思一克 的帖子

知道就好。:wink:

论坛徽章:
0
89 [报告]
发表于 2007-10-08 13:47 |只看该作者
应该理解为绳子开始爬的一头固定。拉另外端。蜗牛重量和橡皮绳子重量忽略不计。

(而不是蜗牛很重,这样爬过的部分就没有拉伸的贡献了)

如果每天爬300M, 16天完成
如果每天爬100M, 12367天完成
如果每天爬800-999M, 2天完成、
如果每天爬1M, XXXX天完成,但一定可以完成。

看对吗?


  1. #include <math.h>
  2. #include <float.h>
  3. #include <stdio.h>
  4. main(int argc, char **argv)
  5. {
  6. int k;
  7. unsigned int i;
  8. long double sn;
  9. int *ip = &sn;

  10.     k = 300;
  11.     if(argc > 1) k = atol(argv[1]);

  12.     sn = 0.0;
  13.     printf("sizeof sn %d\n", sizeof(sn));
  14.     for(i = 1; ; i++) {
  15.         sn = (sn + k)*(1.0 + 1.0/i);
  16.         printf("%d %Lf  %lu\n", i, sn, (i+1)*1000);
  17.         if(sn >= (i+1)*1000) break;
  18.     }

  19. }
复制代码

论坛徽章:
0
90 [报告]
发表于 2007-10-08 14:37 |只看该作者
1,按比例算
第一天,1/1000
第二天,1/2000
第三天,1/3000
第四天,1/4000
……

2,这是一个极限的问题
1/1000 + 1/2000 + 1/3000 + 1/4000 ……
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP