猫抓老鼠的问题

据说是一道计算机面试题,不过主要还是关于思维和数学,问题描述是:

一个老鼠在一个圆形水池里,一只不会游泳的猫子在水池边,猫子的最快奔跑速度是老鼠最快游泳速度的4倍,问这个老鼠能不能成功从小池逃脱?

首先想到的是,直接从中心努力往一个方向跑,不过,这显然不行,假设是半径1米的水池,那周长是2 x 3.14 = 6.28,半圈就是3.14米,猫快4倍,所以老鼠跑1米,猫可以跑4米,逃跑失败。

接着想到的是,老鼠永远背离着猫跑,这个不太好想,网上有人写了程序做实验,结果是老鼠一直在中间附近到处打转。

再想到的是,老鼠在四分之一半径的位置跑小圈,猫在外面追画大圈,因为猫的速度是老鼠的四倍,跑圈的半径正好也是老鼠跑圈半径的四位,如果这样,老鼠和猫子跑一圈的时间一样。那如果老鼠贴着四分之一半径的小圈跑的话,那么它转小圈起来就比猫快了一丢丢。每跑一圈就会快一丢丢,一直跑,总有一个时候,老鼠正好超越猫半圈,当然它俩不在一个赛道上。这个时候,老鼠离最近的池边只有四分之三米,也就是0.75米。0.75的四倍是3,而猫要跑3.14,就来不及抓到老鼠了。

最后想到的是,如果问题改成这样:

问这只猫要比老鼠快多少,就能确保自己吃定了这只老鼠?

 按上面的办法来算,很容易得到临界倍数为4/(4-pi)=4.66倍。

发表于 03月15日 00:27   评论:0   阅读:115  



回到顶部

首页 | 关于我 | 关于本站 | 站内留言 | rss
python logo   django logo   tornado logo