
公考金牌讲师
爆剧《你一个公考讲师,咋成国师了》主角陈文穿越到古代的致知书院当教书先生,六大核心弟子组成了精英班。

题目呈现
“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?”
这是《孙子算经》里最经典的一道题,后世称之为韩信点兵。

剧照
陈文适时地开口:“李浩,把你解题的思路说与大家听。”
李浩有些紧张,他站起身,看了看大家,才说道。

“回先生,此题学生用的是累加法。”
“先寻七七数之剩二之数,有二,有九,有十六,有二十三……”
“再从中,寻五五数之剩三之数,得二十三。”

“最后验算,二十三,三三数之,恰剩二。故,此数为二十三。”
他的解法是一种最基础的试错法,但因为他对数字的敏感,所以速度极快。

陈文点点头,没有评价,而是看向周通。
“周通,你可有不同之解?”
周通站起身,他没有用算筹。

李浩起立回答
他走到黑板前,拿起木炭,写下了一行字。
“三五之公倍,为十五。十五除七,剩一。”

然后,他又写下第二行。
“所求之数,除七剩二。故,当为两个十五,减去一个七的倍数。”

“两个十五,为三十。三十减七,得二十三。此数为解。”
如果说,李浩的解法是术。
那么周通的解法,便是道。
他已经隐约触及到了同余理论
观后感
物不知数是古代数论里的经典例题。求一个数,有以下三个性质:①模3余2;②模5余3;③模7余2。
这道题有无数个答案,最小正整数解是23。
为什么有无数个答案?
因为lcm(3,5,7)=105,即3,5,7这三个数的最小公倍数是105,所以本题答案是23+105k,k=0,1,2,3......
答案不重要,解题思路以及背后的思考方法才是我们关注的焦点。接下来我们揭秘周通脑海中的想法。
周通是这样想的:这个未知数有三个性质,要同时满足太困难了。但是我们可以考虑,让两个性质的余数为零,这是第一步。然后满足最后一个性质,这是第二步。
在保持最后一个性质不变的基础上进行调整,设法满足前两个性质。这是最后一步。通过三步走的方案,就得到答案了。
具体过程:设未知数为x,考虑x模3余0和x模5余0。显然3和5的最小公倍数15满足这个条件。
显然,15≡1(mod 7),即15模7余1。于是,两个15就模7余2,得到30≡2(mod 7)
这样,就满足了性质③。
30-7这样的操作同样满足保持性质③不变的要求。
现在考虑30-7对模3的影响。因为7=3+3+1,所以,30-7≡-1(mod 3),而-1≡2(mod 3)。这很好理解,模3余2和模3余-1是一回事,余两个和借一个余0是一回事。
所以,性质①满足。
再考虑30-7对模5的影响。因为7=5+2,所以,30-7≡-2(mod 5),而-2≡3(mod 5)。这也很好理解,模5余3和模5余-2是一回事,余三个和借两个余0是一回事。
所以,性质②满足。
三个性质全部满足,周通漂亮的解法轻松得到答案23。
本题是有标准解法(通法)的,即套公式计算,过程如下:
x=2×70+3×21+2×15=233,求最小正整数解则需要两次减去105,即233-105-105=23
为了辅助记忆公式,明朝数学家程大位编了一首歌诀:
三人同行七十稀,
五树梅花廿一枝。
七子团圆正月半,
除百零五便可知。
这首歌诀你可以把它看作为一个严密的数学公式,也可以把它看作为一个标准算法。
第一句:未知数模3余2,故2×70=140。
为什么选中70这个数?因为70模3余1,用小学的带余除法表示就是:
70÷3=23......1
同时,70是5和7的公倍数,所以,140满足性质①,又不影响性质②和性质③
同理,21模5余1,还是3和7的最小公倍数,所以3×21=63既满足性质②,又不影响性质①和性质③
同理,15模7余1,还是3和5的最小公倍数,所以2×15=30既满足性质③,又不影响性质①和性质②
140+63+30=233,超过了3,5,7的最小公倍数105,所以,连续减去105两次就得到23这个最小正整数解。
标准解法和周通的解法对比,后者蕴含的思维智慧熠熠生辉。周通洞察了数字之间的整除和余数的关系,用最少的计算量直击问题的本质。
例题太特殊了,模3和模7的余数都是2。如果改一下,改成模7余4,其余条件不变,题目就一般化了。
这个问题依然难不住周通,模仿他的思路,解答如下:4×15=60,就满足了性质③,再减去7,就得到答案60-7=53。
特别收录

高斯《算术研究》第一章第一节第一条:
假如数b和数c之差能够被数a整除,则称b和c对于a同余;反之则称b和c对于a不同余。我们将数a叫做模。如果b和c同余,则b和c互为对方的剩余,如果不同余,则称其互为非剩余。 这里的数必须是正整数或者负整数,而不是分数。例如,-9和16对于模5同余;-7对于模11是15的剩余,但对于模3是15的非剩余。 因为0能被任何数整除,所以对于任何模来说每个数都与其自身同余。
第二条:给定数a,它对于模m的所有剩余都在式a+km中,其中k是任意整数。由此可以推导出下文给出的显而易见的定理,对这些定理做直接证明是很容易的。 从现在起用符号“≡”来表示同余,必要时可以在后面加上圆括号并写出模;例如,-7≡15(mod 11),-16≡9(mod 5)。
科学尚未普及,媒体还需努力。感谢阅读,再见。