观察
- 点 mod3 这一行:实心的只有 0 和 1。被 3 除余 2 的数,可能是平方数吗?
- 点 mod4 和 mod8。模 8 时八个余数里只有三个实心——它一下子排除了多少?
- 点 mod10,这一行说的就是平方数的个位数字。哪几个数字永远不会是平方数的个位?
- 看右边的小表“x 与 x2”:第二行左右对称吗?为什么 x 和 m−x 的平方余数相同?
- 切到“立方”,看 mod7 和 mod9;切到“四次方”,看 mod5。
整数的平方 0,1,4,9,16,… 叫完全平方数。要知道它们模 m 的余数,只要把 x=0,1,…,m−1 各算一次(剩余系那一站的办法)。最常用的三行,值得背下来:
x2≡0,1(mod3)x2≡0,1(mod4)x2≡0,1,4(mod8)
先猜后证
奇数的平方被 8 除,余数有几种可能?
先选定答案,才能看到结论。
✓ 猜对了!✗ 和你想的不一样——这正是值得停一下的地方。
只有一种:余 1。在表里看 mod8 那一行的小表,x=1,3,5,7 的平方全是 1。
也可以直接算:(2k+1)2=4k(k+1)+1。k 和 k+1 是相邻的两个整数,必有一个偶数,所以 4k(k+1) 是 8 的倍数。
为什么
余数表最大的用处:证明一个方程没有整数解。难处只有一个——选哪个模。
x² + y² = 2023 有整数解吗?
第 1 / 5 步 -
先试模 3 平方数模 3 余 0 或 1,两个平方数相加可以余 0,1,2——什么都可能。右边 2023 余 1。没有矛盾。
x2+y22023∈{0,1,2}≡1(mod3)
-
再试模 5
-
换成模 4
-
右边偏偏余 3
-
为什么是 4
另外两件工具
条形码。 由算术基本定理,n 是完全平方数 ⟺ 标准分解式里每个指数都是偶数。所以平方数的因数个数 (a1+1)(a2+1)⋯ 是奇数,而且只有平方数才这样。
夹逼。 相邻的两个平方数 n2 和 (n+1)2 之间没有别的平方数。所以只要证明一个数严格夹在它们中间,它就不是平方数。例如 n>0 时
n2<n2+n+1<n2+2n+1=(n+1)2,
所以 n2+n+1 永远不是完全平方数。
如果去掉一个条件
结论:ab 是完全平方数时,a 和 b 各自都是完全平方数 ← 还成立吗?
a=4,b=9,互素:每个素数的柱子只出现在一边。ab=36 的每个指数是偶数,于是 a、b 各自的每个指数也只能是偶数。
a=2,b=8,不互素。看素数 2 下面的两根柱子。
两根柱子高 1 和 3,都是奇数,加起来却是偶数 4:ab=16 是平方数,a、b 都不是。
再用 +、− 自己造一个:让 ab 是平方数,而 a、b 都不是。
练一练
完全平方数的个位数字不可能是哪几个?全部写出来。
提示 · 方法只要算 02,12,…,92 的个位。
提示 · 第一步个位依次是 0,1,4,9,6,5,6,9,4,1。
完整解答出现的个位是 0,1,4,5,6,9,所以不可能的是 2,3,7,8。
数列 11, 111, 1111, 11111, … 中有多少个完全平方数?
提示 · 方法一个数被 4 除的余数只由它的末两位决定(因为 100 是 4 的倍数)。
提示 · 第一步11=4×2+3,所以每一项被 4 除都余 3。
完整解答平方数被 4 除只余 0 或 1,而数列的每一项都余 3。所以一个也没有,答案是 0。
求正整数 n,使 n2+n+6 是完全平方数。
提示 · 方向n2+n+6 比 n2 大。它和 (n+1)2 比呢?
提示 · 方法n 较大时它被夹在 n2 和 (n+1)2 之间。先求出“较大”是多大,再检查剩下的几个小的 n。
提示 · 第一步n2+n+6<(n+1)2=n2+2n+1 当且仅当 n>5。所以只需检查 n=1,2,3,4,5。
完整解答n>5 时 n2<n2+n+6<(n+1)2,不是平方数。n=1,2,3,4,5 时值为 8,12,18,26,36,只有 36=62。所以 n=5。
证明:被 8 除余 7 的正整数,不能写成三个整数的平方和。
提示 · 方法从 0,1,4 中取三个(可以重复)相加,列出所有可能的和模 8 的余数。
提示 · 第一步想余 7,三个数的和要是 7 或 15(最大是 4+4+4=12,所以只能是 7)。
完整解答三个数都取自 0,1,4,和等于 7 需要 4+?+?=7 且另两个之和为 3,或不含 4 时和至多为 3。两个取自 0,1,4 的数之和只能是 0,1,2,4,5,8,没有 3。所以三个平方数之和模 8 余不出 7。