一千多年前的《孙子算经》中,有这样一道算术题:
“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”按照今天的话来说:一个数除以3余2,除以5余3,除以7余2,求这个数.
这样的问题,也有人称为“韩信点兵”.它形成了一类问题,也就是初等数论中解同余式.这类问题的有解条件和解的方法被称为“中国剩余定理”,这是由中国人首先提出的.
① 有一个数,除以3余2,除以4余1,问这个数除以12余几?
解:除以3余2的数有:
2, 5, 8, 11,14, 17, 20, 23….
它们除以12的余数是:
2,5,8,11,2,5,8,11,….
除以4余1的数有:
1, 5, 9, 13, 17, 21, 25, 29,….
它们除以12的余数是:
1, 5, 9, 1, 5, 9,….
一个数除以12的余数是唯一的.上面两行余数中,只有5是共同的,因此这个数除以12的余数是5.
如果我们把①的问题改变一下,不求被12除的余数,而是求这个数.很明显,满足条件的数是很多的,它是 5+12×整数,
整数可以取0,1,2,…,无穷无尽.事实上,我们首先找出5后,注意到12是3与4的最小公倍数,再加上12的整数倍,就都是满足条件的数.这样就是把“除以3余2,除以4余1”两个条件合并成“除以12余5”一个条件.《孙子算经》提出的问题有三个条件,我们可以先把两个条件合并成一个.然后再与第三个条件合并,就可找到答案.
中国剩余定理 ,你未必知道其中的数学道理
②一个数除以3余2,除以5余3,除以7余2,求符合条件的最小数.
解:先列出除以3余2的数:
2, 5, 8, 11, 14, 17, 20, 23, 26,…,
再列出除以5余3的数:
3, 8, 13, 18, 23, 28,….
这两列数中,首先出现的公共数是8.3与5的最小公倍数是15.两个条件合并成一个就是8+15×整数,列出这一串数是8, 23, 38,…,再列出除以7余2的数 2, 9, 16, 23, 30,…,
就得出符合题目条件的最小数是23.
中国剩余定理 ,你未必知道其中的数学道理
事实上,我们已把题目中三个条件合并成一个:被105除余23.
那么韩信点的兵在1000-1500之间,应该是105×10+23=1073人