1.任意给一个数N,试证明这个数的某个倍数的十进制表示是01串,比如3的倍数111是二进制表示,5的倍数10是二进制表示
证明:
取N个不同的正十进制数N1,N2,N3...Nn(每个数的每位数上均为1,比如1,111,1111等)。
将每个数对N取模(MOD N),得余数M1,M2,M3...Mn
若M里有数为0,则得证
若M中无值为0,而已知对N求模,余数最多有N-1个,这与所得N个余数矛盾
所以,N个余数里至少有2个数相同,设为第i和第j个(i!=j),且余数设为a
则,Ni = ki*N+a ; Nj = kj*N+a ( kj > ki)
则,Nj - Ni =(kj - ki)*N。而容易看出,Nj - Nj必为二进制表示的十进制数
得证
2. 试证明素数有无穷多个
证明:
假设素数是有限个的,所有素数的集合为Pset,且size(Pset)为N,升序列分别为:
P1,P2,P3....Pn
构造新数M =P1*P2*P3...Pn+1
若M是素数,由于M > Pn,这与Pn是最大素数矛盾;
若M是合数,由于“一个合数可以拆分为一组素数的乘积,并且只可以拆分为一组素数的乘积”,
设M可被某一素数p整除
又由于P1到Pn均无法整除M(余数1)
所以 素数p 不属于Pset,这与Pset包含了所有的素数这一假设矛盾
所以假设不成立。
得证