出个算法的题目让兄弟们死点脑细胞。

jian_yan 2004-01-16 11:22:59
有根一公里长的橡皮筋,在它的一个端点上有一只小虫子(假定小虫子的长度为零)。小虫子以1cm/s的速度向橡皮筋的另一个端点爬,注意,在小虫子爬起来的同时,橡皮筋也开始以1km/s的速度被拉长(假定橡皮筋各部分的弹性完全一样)。那么,小虫子能不能爬到另一个端点?如果能,需要多少时间?
程序要求:以时间为横坐标,以和橡皮筋的中间点的距离为纵坐标,画出小虫子以及两个端点的轨迹。
...全文
63 34 打赏 收藏 转发到动态 举报
写回复
用AI写文章
34 条回复
切换为时间正序
请发表友善的回复…
发表回复
jian_yan 2004-02-02
  • 打赏
  • 举报
回复
过完年回来一看,还真有高人啊。不过这不是数学题,是一个模拟的问题。核爆炸还能模拟呢,这怎么不能?再想想吧。
严黎斌 2004-01-29
  • 打赏
  • 举报
回复
我前面不是已经解答了么?这里再解释一下。
答案就是:
ln(n)=100000 + γ, γ=0.577215664 是欧拉常数;
这样,lg(n)= 100000.577215664 * lg(e) = 43429.698871902926
n = 4.998870693332 * 10^43429
就是说这么多秒钟之后,虫子可以爬完绳子,这时候绳子也有这么多km长了。
其实,现在的宇宙,我们能讨论的有意义的最大尺度与最小尺度之比,无论是时间还是长度,都只有10的十几次方。这个答案完全超出了实际意义,哪怕是宇宙尺度的。
你也不可能通过计算机来模拟,实际一秒钟能模拟本题中的多少秒钟?一亿亿次?就是10^16,去除n,还剩多少秒数?

xiaonian_3654 2004-01-28
  • 打赏
  • 举报
回复
你猜猜
once168 2004-01-28
  • 打赏
  • 举报
回复
你的问题有qi意
没有讲明绳子是两端拉长,还是一端拉长,但基本结算法相同,
下面以一端固定,一端加长为例(虫子那端加长),此时绳子中点移动

s0=0;//虫起始行走长度
s_ToTal=1000;//初始长度
s_pos=1000;//虫到终点距离
v0=0.01;//虫的速度
v1=1000;//绳的速度
int dt=1;//以1秒为步长
int i=0;
while(s_pos>0)
{
s0+=v0*dt;//1.虫子先走 总行程=时间*速度
double sp=v1*dt;//2.绳子加长
s_pos=s_pos+s_pos/s_ToTal*sp-s0;//虫子离端点距离

s_ToTal+=sp;
double s_mid=s_ToTal/2;
printf("i=%d,mid=%f;固定端=%f,移动端=%f,虫子到中点=%f\n",i,0-s_mid,s_ToTal-_mid,s_pos-s_mid);
i++;
}

ahao 2004-01-27
  • 打赏
  • 举报
回复
gz
chenchong 2004-01-25
  • 打赏
  • 举报
回复
永远都达不到,死也达不了你这是什么问题吗橡皮筋千米/秒虫子米/秒那能达到端点啊
huaqingzeng 2004-01-25
  • 打赏
  • 举报
回复
假设虫子不动肯定爬不到
如果虫子也1KM/S爬测能够爬到
同理虫子的数度只要大于0就能爬到终点
设想橡皮筋无限长就可以想清楚了
严黎斌 2004-01-25
  • 打赏
  • 举报
回复
怎么又错了,应该是
ln(n) + 0.5772 > 100000


严黎斌 2004-01-25
  • 打赏
  • 举报
回复
抱歉,上面最后的答案应该是
ln(n) + 0.5772 > 10000
呵呵
严黎斌 2004-01-25
  • 打赏
  • 举报
回复
现实世界,小虫肯定达不到,时间不够,皮筋也早断了。
如果算理论情况,可以这么做:
首先,第一秒钟,小虫完成了整个皮筋的10^-5(1/100000),是不是?
第二秒钟,小虫只能完成(1/2)*10^-5,
第n秒钟,小虫能完成(1/n)*10^-5,
累加,n秒钟之后,小虫完成 (for(int i=1, S=0;i<=n;i++)S+=(1/i)) * 10^-5,
现在问题变成,这个S能不能达到1?
其实这个s就是所谓的调和级数,即自然数倒数的和。
详细理论不说了,太麻烦,反正当n足够大的时候,这个级数趋向于ln(n!),这个级数和显然是发散的,能趋向于无穷大。
当n很大的时候,这个级数和可以用 ln(n) + C来代替,C=0.5772,是个类似于e,pi一样的很重要的、独立的常数(超越数),称为欧拉常数。(有一些更精确的近似方法,但烦琐多了,比如n*ln(n/e))
现在,问题转为
ln(n) + 0.5772 > 1/10000,
n即为所求。
逍遥小飞狼 2004-01-20
  • 打赏
  • 举报
回复
不对不对!到不了。小虫子距出发的端点距离我觉得能用公式表达,距终点的距离只能用橡皮筋在那时刻的长度减掉虫子距出发点的长度。可怜的小虫子只能距终点越来越远。
逍遥小飞狼 2004-01-20
  • 打赏
  • 举报
回复
能到啦!算法想不出来……
jian_yan 2004-01-18
  • 打赏
  • 举报
回复
当然没有公式解,否则就是数学题了,呵呵。
jian_yan 2004-01-18
  • 打赏
  • 举报
回复
如果要精确到毫秒级,设计不好的算法可能用现在的桌面计算机要算上n年。。。
alphapaopao 2004-01-18
  • 打赏
  • 举报
回复
原来没有公式解阿。
我的方程对不对阿?
如果对的话,我就来做数值解。
jian_yan 2004-01-18
  • 打赏
  • 举报
回复
本来就没有精确解的,只有近似解,要求的精度越高,计算量越大。算法的设计很讲究的,这种高强度计算的东西考的就是这个。
lansefeng 2004-01-18
  • 打赏
  • 举报
回复
alphapaopao 2004-01-18
  • 打赏
  • 举报
回复
看来我不是高手.
我觉得我的方程应该没错.不过找不到公式解.
我考虑数值解.
jian_yan 2004-01-18
  • 打赏
  • 举报
回复
哎,看来高手是不屑于做这种小儿科的东西。
longfellow 2004-01-18
  • 打赏
  • 举报
回复
设t时刻,虫的位置在P.
虫速度为V0,绳速度为Vl,原长为L0
则 dP/dt = (p*Vl)/(L0+ t*Vl) + V0.// 我忘了如何解这个方程,查高数上册.
解这个微分方程得到 P = f(t) .
然后虫与绳的中点距离为 d1(t) = (L0 + t*V0)/2 - P;
加载更多回复(14)
打开链接下载源码: https://pan.quark.cn/s/64cfd9352cf7 VLC播放器是一款备受青睐的跨平台开源多媒体播放软件,其3.0.11版本在继承既有卓越功能的同时,显著优化了对特定音视频编码格式的兼容性,尤其着重于对AVS+和DRA这两种源自中国的编码标准的支持。这一改进使得VLC不仅能够处理国际上通行的H264和H265视频编码,以及AC3音频编码,更能契合国内用户的播放需求,流畅播放采用AVS+和DRA编码的多媒体资料。1. **AVS+(Advanced Video Coding Plus)**:AVS+是中国自主设计的一种高效视频编码规范,其核心目标在于提升编码效能,减少带宽占用,特别适用于高清及超高清视频的传输。相较于早期的AVS技术,AVS+在编码效能、图像质量和实现难度上取得了更优的均衡,为国内的电视广播、IPTV、网络视频等领域提供了定制化的解决方案。2. **DRA(Digital Radio Audio)**:DRA是一种基于数字音频广播的高保真音频编码技术,由中国独立研发而成。该技术支持多样化的码率和声道布局,确保提供卓越的音频体验,同时具备优异的网络适应性及低延迟表现,适用于广播、互联网音频传输等多种使用场景。3. **H264(亦称AVC)**:H264是一种高效视频压缩规范,广泛应用于在线视频、流媒体服务、蓝光光盘等领域,其显著优势在于能够在较低的码率下呈现高清晰度的视频画面。4. **H265(亦称HEVC)**:作为H264的升级版标准,H265在压缩效率上实现了进一步突破,相同画质下可将文件大小减半,这对4K、8K等超高清视频的传输和存储尤为关键。5. **AC3(Dolby Digital)**:AC3是...

19,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧