小学论坛

 找回密码
 立即注册
查看: 180|回复: 0

探讨猫捉耗子问题

[复制链接]

28万

主题

28万

帖子

84万

积分

论坛元老

Rank: 8Rank: 8

积分
848531
发表于 2016-8-10 20:32:20 | 显示全部楼层 |阅读模式
引言
    猫捉耗子是一个有名的游戏,一只猫让N个老鼠围成一圈报数,每次吃掉报单数的老鼠,有一只老鼠总不被吃掉,问这个老鼠站在哪个位置?数学中称这类问题为猫捉耗子问题。对这类问题通常的做法是从特殊情况出发,逐步发现规律,然后给出求解公式。老师在课堂上介绍了公式以及推导过程,但我认为推导过程较为复杂,不好理解。根据反复试验和观察,本文给出了一种容易理解的求解这类问题的方法。
方法和例子
    这里列举这类问题的两种情形。对于每种情形都首先考虑特殊情况,然后从中发现规律。这两种情形都是基于如下前提:从1到N编号的N个老鼠顺时针围成一圈,从1开始报数。并规定游戏一开始的第一个生存者是1号老鼠。设老鼠的总个数为N,最后幸存的老鼠编号为X。
情形1:
    1号老鼠生存下来,2号老鼠被猫吃掉;3号老鼠生存下来,4号老鼠被猫吃掉.....就这样,这只猫每隔一只老鼠,就吃掉另一只老鼠,那么最后唯一幸存的那只老鼠是几号呢?
    先考虑简单的情况。当有两只老鼠围成一圈时,猫吃掉了2号,1号为最后的幸存者;当有三只老鼠围成一圈时,猫先吃掉了2号,然后是1号,最后的幸存者是3号.....,依次类推,可发现如下规律:
[TR]
[TD]N
[/TD]
[TD]2
[/TD]
[TD]3
[/TD]
[TD]4
[/TD]
[TD]5
[/TD]
[TD]6
[/TD]
[TD]7
[/TD]
[TD]8
[/TD]
[TD]9
[/TD]
[TD]10
[/TD]
[TD]11
[/TD]
[TD]12
[/TD]
[TD]13
[/TD]
[TD]14
[/TD]
[TD]15
[/TD]
[TD]16
[/TD]
[TD]17
[/TD]
[TD]18
[/TD]
[TD]19
[/TD]
[TD]20
[/TD]
[TD]...
[/TD][/TR]
[TR]
[TD]X
[/TD]
[TD]1
[/TD]
[TD]3
[/TD]
[TD]1
[/TD]
[TD]3
[/TD]
[TD]5
[/TD]
[TD]7
[/TD]
[TD]1
[/TD]
[TD]3
[/TD]
[TD]5
[/TD]
[TD]7
[/TD]
[TD]9
[/TD]
[TD]11
[/TD]
[TD]13
[/TD]
[TD]15
[/TD]
[TD]1
[/TD]
[TD]3
[/TD]
[TD]5
[/TD]
[TD]7
[/TD]
[TD]9
[/TD]
[TD]...
[/TD][/TR]





    对于这种情况,每次猫都是从两只老鼠中吃掉一只老鼠,可认为2只为一个周期,用m=2表示;用n表示每个周期内吃掉的老鼠数目,这里是n=1。
情形2:
    1号老鼠生存下来,2号、3号老鼠被猫吃掉;4号老鼠生存下来,5号、6号老鼠被猫吃掉.....就这样,这只猫每隔一只老鼠,就吃掉另两只老鼠,依次下去,最后唯一幸存的那只老鼠是几号呢?
    先考虑简单的情况。当有三只老鼠围成一圈时,猫吃掉了2号和3号,1号为最后的幸存者;当五只老鼠围成一圈时,猫先吃掉了2号和3号,然后是5号和1号,最后的幸存者是4号.....,依次类推,可发现如下规律:
[TR]
[TD]N
[/TD]
[TD]3
[/TD]
[TD]5
[/TD]
[TD]7
[/TD]
[TD]9
[/TD]
[TD]11
[/TD]
[TD]13
[/TD]
[TD]15
[/TD]
[TD]17
[/TD]
[TD]19
[/TD]
[TD]21
[/TD]
[TD]23
[/TD]
[TD]25
[/TD]
[TD]27
[/TD]
[TD]29
[/TD]
[TD]31
[/TD]
[TD]33
[/TD]
[TD]...
[/TD]
[TD]81
[/TD]
[TD]83
[/TD]
[TD]...
[/TD][/TR]
[TR]
[TD]X
[/TD]
[TD]1
[/TD]
[TD]4
[/TD]
[TD]7
[/TD]
[TD]1
[/TD]
[TD]4
[/TD]
[TD]7
[/TD]
[TD]10
[/TD]
[TD]13
[/TD]
[TD]16
[/TD]
[TD]19
[/TD]
[TD]22
[/TD]
[TD]25
[/TD]
[TD]1
[/TD]
[TD]4
[/TD]
[TD]7
[/TD]
[TD]10
[/TD]
[TD]...
[/TD]
[TD]1
[/TD]
[TD]4
[/TD]
[TD]...
[/TD][/TR]





    对于这种情况,每次猫都是从三只老鼠中吃掉两只,可认为3只为一个周期,即m=3;每3只中吃掉两只,因此,n=2。
结论
    通过对上述两种情形的运算结果的观察,发现N的所有可能的取值按照一定的顺序排列后,构成了一个等差数列A。该数列的首项a1=m,公差d=n(m和n都是正整数)。
    而与N对应的X的取值则构成了若干个等差数列B1,B2,...,Bk。这些等差数列的公差都为m,首项都为1。还发现,构成的这些等差数列有这样一个规律:每逢N的值为mk时(m和k都是正整数),对应X的取值就是1。也就是说,当N的取值范围从mk到mk+1-n 之间时,对应的X的取值就构成了一个d=m,a1=1的等差数列,项数就是从N=mk到N=mk+1-n之间数的个数(包括mk和mk+1-n这两个数)。
    那么现在来看看一般情形:如果猫要从m个老鼠中吃掉n个老鼠,那么最后幸存的老鼠是几号呢?由上面的结论,可以得出这样的求解步骤:
    1、 首先找到小于N的一个最大的数mk(k是正整数,并假设N≠mk);  
    2、 这样就构成一个首项a1=mk,末项an=N,公差d=n的等差数列A,利用公式求出项数b; (即,b = 1 + (N- mk)/n )
    3、 因为X的每个取值也构成了一个与A对应的等差数列Bk,其中,公差为 m,首项为1,项数为b。利用等差数列求末项公式,求出末项an;
(即,an = 1 + (b-1)*m)
    4、 an就是与N对应的X的值,也就是最后唯一幸存老鼠的编号。
    本文提出的求解方法,通过带入老师所给出的公式验证后,证明此方法是正确的。
参考文献
1、学而思奥数网寒假精英班讲义
2、等差数列的相关知识
3、学而思奥数网寒假精英班课堂笔记-从特殊性到一般性的研究方法
指导教师:周睃   
学而思教育版权所有,未经许可,请勿转载。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|新都网

GMT+8, 2025-9-3 01:28 , Processed in 0.066582 second(s), 14 queries , WinCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表