昨天突然想起一道小学时曾经做过的题目。
题目
有一条长为 s 的路 AB,甲和乙在 A 点上,甲的速度为 va,乙的速度为 vb(va>vb)。甲乙同时向右运动。甲不断在乙和 B 点之间运动(折返跑),直到乙到达 B 点为止。求甲走的距离。
小学那时候一看这题,束手无策。可能那时也对数学不够重视吧,反正也不知道怎么做的。后来上了初中,第一次考试卷子就考这个,我人都傻了。好在觉悟够高,认真听了老师讲评,回忆了一下当时的做法,可谓是贻笑千载。
我的解法
如上图,每次算出红线的总长度,剩下的蓝线又可以表示成原图图中的形式(原问题的相同子问题)。
我们用 f(x) 来表示乙走一段长度为 x 的路的总路程(即假如上图中黑色加上蓝色的线为总长度,那么乙走的路程就是红色的线),用 g(x) 来表示甲走一段长度为 x 的路的总路程。
那么根据上图,我们可以使用相遇问题的公式,将红线加上绿线作为总路程,可以算出相遇时间为 va+vb2x。那么红线的长度就是 f(x)=va+vb2xvb,同理可得 g(x)=va+vb2xva。
从 g(x) 中可以看出每次 x 会缩小到原来的 vb+vavb−va ,那么答案就是:
=i=0∑∞f(s(vb+vavb−va)i)va+vb2svb(1+(vb+vavb−va)+(vb+vavb−va)2+(vb+vavb−va)3+⋯)
然后我们可以利用一个有名的幂级数公式:
1+x+x2+x3+⋯=1−x1(∣x∣<1)
注意只有当 ∣x∣<1 才能套入公式。因为 va>vb≥0,因此 vb+vavb−va∈[0,1)。因此我们可以套用上面的公式,于是:
===i=0∑∞f(s(vb+vavb−va)i)va+vb2svb(1+(vb+vavb−va)+(vb+vavb−va)2+(vb+vavb−va)3+⋯)va+vb2svb(1−vb+vavb−va1)vasvb
正解
因为甲和乙同时开始,同时停止,因此甲的运动时间等于乙的运动时间,通过题目易得运动时间为 vbs,再代入公式 s=vt 得出甲的运动路程为 vasvb。
真的要贻笑千载了。
彩蛋:幂级数公式是怎么来的?
1+x+x2+x3+…x+x2+x3+x4+…(1+x+x2+x3+…)−(x+x2+x3+x4+…)1g=g=gx=g−gx=g(1−x)=1−x1
∴1+x+x2+x3+⋯=1−x1(∣x∣<1)