正文

如何判断11的倍数(Z)2005-10-12 20:21:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/elva6401/5985.html

分享到:

问:
给定一个整数,最多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为奇数的时候也是类似的
完!

阅读(4355) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册