首页 > 代码库 > 完全平方数的末两位数字类型的另一种证明

完全平方数的末两位数字类型的另一种证明

1. 问题(来自Rosen的《初等数论及其应用》第6版P99第5题)

证明完全平方数的最后两个十进制数字(个位和十位)一定是下列数对之一:{00, e1, e4, 25, o6, e9}

注:e = even number, o = prime number, 0也为偶数

 

2. 验证一下

n n2 末尾数对类型
0 0 00
1 1 e1
2 4 e4
3 9 e9
4 16 e4
5 25 25
6 36 o6
7 49 e9
8 64 e4
9 81 e1

 

3. 证明

3.1 思路

要证明n2的个位和十位的数值,简单的做法是将其表示出来,看是否满足一些规律

n2 = n * n

根据我们计算乘法的方法:

设n2 = an…a2a1    (an ∈ {0, 1, …, 9})

技术分享

放在百位以上的数据已经不影响个位和十位了

设f(x) = x的个位和十位的数列

可知n2的十位和个位f(n2) = f(a1a1 + 10*a2a1 + 10*a2a1)

                               = f(a12 + 10*(2a2a1))

∴n2个位 = a12 的个位,n2的十位 = (2a2a1) + (a12 的十位)

a1 a12 + 10*(2a2a1) 2a2(十位) 末尾数对类型
0 0 0 00
1 10*(0+2a2) + 1 2a2 = e e1
2 10*(0+4a2) + 4 4a2 = e e4
3 10*(0+6a2) + 9 6a2 = e e9
4 10*(1+8a2) + 6 1+8a2 = o e4
5 10*(2+10a2) + 5 2+10a2 = 2 25
6 10*(3+12a2) + 6 3+12a2 = o o6
7 10*(4+14a2) + 9 4+14a2 = e e9
8 10*(6+16a2) + 4 6+16a2 = e e4
9 10*(8+18a2) + 1 8+18a2 = e e1

∴对于所有的a1,不论a2的值是什么,f(n2)都成立,得证

 

4. 推论

根据第3部分的证明,我们还可以知道:

1> 只要n的个位 = 5, 则n2个位和十位 = 25,反之也成立

2> 只要n的个位 = 0, 则n2个位和十位 = 00,反之也成立

3> 只要n的个位 = 6, 则n2个位和十位 = o6,反之也成立

4> 不论a2的值是什么,n2个位和十位数列和a12一样,即n2个位和十位数列类型只和n个位相关

完全平方数的末两位数字类型的另一种证明