完全平方数的末两位数字类型的另一种证明
Posted organic
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了完全平方数的末两位数字类型的另一种证明相关的知识,希望对你有一定的参考价值。
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
根据我们计算乘法的方法:
设n = 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个位相关
以上是关于完全平方数的末两位数字类型的另一种证明的主要内容,如果未能解决你的问题,请参考以下文章
java . 请在小于99999的正整数中找符合下列条件的数,它既是完全平方数,又有两位数字相同,如:144,676。
用C语言写程序它既是完全平方数,又有两位数字相同,例如144,676等,