韩信点兵

韩信是我国历史上著名的兵法家之一,“韩信点兵”说的是:某天扎营后,韩信为了弄清某营帐士兵的具体人数(大概人数他知道),却并不亲自点数,只是传令下去,让那个营帐的士兵分几次按不同人数列队,并把每次列队后的剩余人数①报上来。得知这几次列队的余数后,韩信马上就能把士兵的总数算出来。

韩信点兵的秘诀在哪里呢?为了便于讨论,设这些士兵先后按 3 、5 、7 人数列队,它们的余数分别为 a 、b 、c 。

解法 1 :由题意可立方程式

x = 3n1 + a,

x = 5n + b,

(1)

(2)

2

x = 7n3 + c。

(3)

因 3 、5、7 的最小公倍数是 105,故将(1)×35 、(2)×21、(3)×15,

35x = 105n1 + 35a,

21x = 105n + 21b,

(4)

(5)

2

15x = 105n 3 + 15c。

(5)+(6)-(4),得

(6)

x=-35a+21b+15c+(n3-n2-n1)·105

=105(n3+n2-a)+70a+21b+15c 。 令 70a+21b+15c=105n4+r,上式变为x=105(n4+n3+n2-n1-a)+r

=105n+r。

式(7)表明 x 有无穷解,r 是最小的一个正整数解。105 是 3 、5 、7 的最小公倍数,将式(7)代入(1)、(2)、(3)式后,无论 n 取任一正整数,三个余数 a 、b 、c 的值总不变。

如设 a = 1、b=2、c=3,由70a+21b+15c=157=105+52,

得 r=52。

再由式(7)得 x=105n+52。

即知士兵的总人数为 52 人、157 人、262 人,⋯⋯。

在有无穷解的情况下,韩信又怎能确定士兵总数呢?因为韩信已知士兵的大概人数(设有一、二百人),所以他能在得知几次列队的余数后(设 a=1、b=2、c=3),很有把握地算出

了这部分士兵的总人数(x=105+52=157 人)。

解法Ⅱ:我们首先引入一个概念:“同余”。如果 a、b 两数分别除以 m 后所得余数相同,就说:对数 m,a 和 b“同余”。

记作 a≡b(modm),m 称为模数,符号≡为同余。不难理解,如某数 a 除以 m 所得的余数为 r,

即 a=ma1+r,

① 如排成五列横队,剩余人数可能是 0、1、2、3、4 人。

则 a≡r(modm)。例 1.∵14=5×2+4,

∴14≡4(mod5)。例 2.∵11=5 ×2+1,

21=5 × 4+1,

∴11≡21(mod5)。例 3.∵26=8×3+2,

-14=8×(-2)+2,

∴26≡-14(mod8)。

如设 a≡b(modm);c≡d(modm),可得以下同余式的推理: a+c≡ b+d(modm); a-c≡ b- d(modm); lca≡kb(modm);ac≡bd(modm); an≡bn(modm)。

在分析一些有关的余数问题时,如运用同余式及其推理,将使问题得到简化。由上述韩信点兵问题的题意可得同余式:

x≡a(mod3), x≡b(mod5),x≡c(mod7)。以上三式可变换为:

35x≡35a(mod105), (1)

21x≡21b(mod105), (2)

15x≡15c(mod105)。 (3) (2)+(3)- (1),得

x≡21gb+15c-35a(mod105), x≡70a+21b+15c(mod105)① 。 令 70a+21b+15c=105m+r,上式变为x≡r(mod105),

即得 x=105n+r。

以上两种解法得到的结果相同。关于三、五、七列队的解法,在我国民间还流传有一首诗:“三人同行七十稀,五树梅花甘一支,七子团圆整半月, 除百零五便可知。”

(赵为禾)