任意给一个数,试证明这个数的某个倍数的十进制表示是01串

来源:互联网 发布:fgo淘宝科技石头号封号 编辑:程序博客网 时间:2024/06/05 19:06

From: http://topic.csdn.net/u/20120510/12/10a50d29-be19-493e-87c7-990cae86a9ee.html?82352

From:http://blog.csdn.net/hackbuteer1/article/details/7581306


任意给一个数,试证明这个数的某个倍数的十进制表示是01串,比如3的倍数111是二进制表示,5的倍数10是二进制表示,等等。


假设序列1,11,111,1111…用A1~AN标识,下脚标N即为1的个数,如:A1=1,A2=11,A3=111…
其中没有一个是N的倍数,即AK mod N不等于0(K属于1~N),并且AK mod N的余数各不相同,设它们为a1,a2,a3,…,aN,但AK mod N的余数最多只有N-1个不同,则由鸽巢原理可知,a1,a2,a3,…,aN中必有两个相同,即ai=aj(j>i),则Aj-Ai=0(mod N),Aj-Ai即为所求的0和1组成的十进制数M,得证。

原创粉丝点击