如何快速判断一个大数能否被2~9整除
近期看大宝的作业其中有讲如何快速判断一个大数能否被整除,这里整理一下备查。
2
这个简单直接看末位能否被2整除。
3
所有数位上的数字相加能被3整除。
原理:abc = a*(3*33+1) + b*(3*3+1) +c =3*33*a + 3*3*b + a + b + c
明显3*33*a + 3*3*b能被3整除,故只用考虑 a + b + c能被3整除。
4
最后两位能被4整除。还有简便计算:ab(一个两位数),a*2 + b能被4整除。
原理:abc = a*(4*25) + b*(4*2+2) +c =4*25*a + 4*2*b + 2*b + c
明显4*25*a + 4*2*b能被4整除,故只用考虑 2*b + c能被3整除。
5
末位为0或5。
6
同时被2和3整除。
7
以三位分节,然后奇减偶,结果能被7整除。还有简便计算abc(一个三位数),a*2 + b*3 + c能被7整除。
原理
1、 10 、 100、1000、10000、100000……除7的余数分别为1、3、2、6、4、5、1、3、2、6、4、5……
即1 3 2 6 4 5的循环
同时6 4 5又可以写为-1 -3 -2因此可以改写为1 3 2 -1 -3 -2 1 3 2 -1 -3 -2……
即从个位起以三位分节。余数按1 3 2循环,奇数节为正,偶数节为负。
例:123456789123456
先分节:
| 大数 | 123 | 456 | 789 | 123 | 456 |
|---|---|---|---|---|---|
| 分节 | 5 | 4 | 3 | 2 | 1 |
所有奇数节为 1 3 5 对应 456 789 123
所有偶数节为 2 4 对应 123 456
奇减偶:(456 + 789 + 123) - (123 + 456) = 789
再运用简便计算:7*2 + 8*3 + 9 = 47 => 47/7=6 ··· 5 即123456789123456除以7余5。
注:如各节加和为负则对应余数加7转换为正数。
8
末三位能被8整除。简便计算abc(一个三位数),a*4 + b*2 + c 能被8整除。
原理
dabc = d*8*125 + a*(8*12+4) + b*(8+2) +c = d*8*125 + a*8*12 + b*8 + a*4 + b*2 +c
即余数等同于 a*4+b*2+c
进阶推广
任意大数除以2的n次方时,余数只需要考虑末n位
记最后n位为X(1)X(2)……X(n)
则结果为X(1)*2^(n-1) + X(2)*2^(n-2) + …… + X(n)*2^(n-n)
9
所有数位上的数字相加能被9整除。
原理
abc = a*(9*11+1) + b*(9*1+1)+c = a*9*11 + b*9*1 + a + b + c
即余数等同于 a + b + c