问:给定一个整数,最多1000位,如何判断他能不能被11整除?eastcowboy答:所有奇数位数字相加,所有偶数位数字相加。把这两个和相减。如果差是11的倍数,则原数可以被11整除,否则不能被11整除。 证明如下:首先要说明的是:(a%b)==((a-n*b)%b) ---1式,这个东西很显然就不多说了,当然也可以证明。将一个任意数计为 a1*10^n+a2*10^(n-1)+a3*10^(n-2)+...+aN*10^n+a(N+1) ---2式因为10^n==(11-1)^n==11^n-11^(n-1)+...+(-1)^n(当然有系数,不过系数对本证明没有影响,也不好写,就省略啦~!!~)由于---1式,所以aX*10^n %11 == aX*(-1)^n %11所以---2式%11 == { a1*(-1)^n+a2*(-1)^(n-1)+...+aN*(-1)+a(N+1) } %11当n为偶数的时候,上式 == { a1+a3+a5+...+a(N+1)-(a2+a4+a6+...+aN) } %11,得证。当n为奇数的时候也是类似的完!

评论