趣味数学题:猫追老鼠

一只猫紧紧追赶着一只老鼠。 就在猫将要抓住老鼠的时候,老鼠正好跑到一个圆形的池塘旁边,纵身跳入池内,猫抓了个空。猫舍不得这顿即将到口的美餐,于是盯住老鼠,在池边跟着老鼠游泳方向跳动,想等老鼠爬上岸来时抓住它。 请问猫奔跑的速度至少是老鼠游水速度多少倍,猫才能看住老鼠,使得老鼠一上岸,就被猫逮住?假设老鼠和猫都非常聪明,它们可以任意改变运动方向而不影响速度。

趣味数学题:猫追老鼠

难度系数

注释:这是一道非常难的题,在IQ出现了至少3次,最早出现是在01年,据说要用高等数学的知识才可解出来。

答案:

本题是需要高等数学求解析解,而且还很不好算。我用matlab算了个数值解.供参考....

老鼠在到了1/x的圈上时,与猫的”距离“最远为:Pai

假设他出这个圈的点为a 圆心为0

但这个时候没有任何理由说老鼠走半径是最优的。

老鼠出圈以后,猫是没道理转追方向的,因为老鼠一出圈,猫就能缩短“距离”小与Pai ,它改方向只会让它从较大交角的那一边追。明显化不来。

出圈以后还有一点是肯定的:老鼠一定是走直线。不管走什么路径,最终到外面圆周上以后,走的`距离绝对比圆周上点到出圈点的直线远,这样明显不是最优。

所以我假设老鼠最终在圆周b点出最外面的圆周,设角aob为未知数,算x的最大值 x=MAX(cosα + (cosα - 1 + (∏ + α)^2)^0.5)

MAX为在α可取范围内表达式的最大值

其中α的取值范围为[0,arccos(1/x)] 算出来就是帖子里的那个答案

当然,还需要考虑老鼠出1/x圈以后不能右走回这个圈,所以我在角aob的取值区间上做了限制,保证了这点。

用matlab算出结果:角度取1.1395时有最大值 4.6303。