[数论] 判断一个多位数是不是x的倍数


 (n最多10000位) 3<=x<=9;

判断3:
判断一个数是否是3的倍数,原理是将这个数的各个位上的数加起来,其和是3的倍数的话,那这个数便是3的倍数。

判断4:
判断一个数是否是4的倍数的方法:看这个数的末两位上的数是否是4的倍数。因为满百位的肯定是4的整数倍,100可以整除4

判断5:
判断一个数是否是5的倍数的方法:看这个数的末位上的数是否是0或者5。

判断6:
判断一个数是否是6的倍数的方法:个位上要是偶数0、2、4、6、8的数且各个数位上的数字相加之和是3的倍数。

判断7:
三位三位地进行分节,对应奇数节的三位数的和 与 对应偶数节的三位数的和 的差可以被7整除,那么就可以被7整除。
例:12,712,717,003=7*1,716,100,429,((12+717)-(712+3)=14=7*2)

判断8:
判断一个数是否是8的倍数的方法:末尾三位上的数字是否是8的倍数。因为1000是8的整数倍,只需看后三位即可。


判断9:
判断一个数是否是9的倍数的方法:各个数位上的数字相加之和是9的倍数。各个数位上数字遇9就划掉,最后剩余的数就是除以9的余数!

这里以n是个四位数,x=9为例进行证明:
n=1000*a + 100*b + 10*c +d;
即:
n =(999*a+99*b+9*c)+a+b+c+d
由于(999*a+99*b+9*c)的每个系数都是9的倍数,所以(999*a+99*b+9*c)是9的倍数,那么我们只需要判断a+b+c+d是否是9的倍数就可以判断n是否是9的倍数,即n的各个位之和是9的倍数,n就是9的倍数。


posted @ 2024-04-08 19:09  Befrepof  阅读(54)  评论(0编辑  收藏  举报