a) 因为p不可能为2和5,因此与10互质,所以1/p必为无限循环小数.
b) 大致思路:
如果循环节长度是偶数2k,首先说明10^(2k)-1是p的倍数,而且小于2k的任意n,10^n-1都不是p的倍数.这是因为a(1)a(2)a(3)a(4) ...a(2k)/(10^(2k)-1)=1/p,即a(1)a(2)a(3)a(4) ...a(2k)=(10^(2k)-1)/p.
而(10^(2k)-1)=(10^k-1)(10^k+1),因为p为质数,而且10^k-1必不是p的倍数(否则循环节长度小于2k,与题目假设矛盾),所以只能有10^k+1是p的倍数.
考虑10^k/p=10^k*(1/p)=10^k*0.a(1)a(2)...a(2k)=a(1)a(2)...a(k) .a(k+1)a(k+2).a(2k)a(1)..a(k)循环.,总之,小数部分的循环节长度仍然为2k,内容变成了a(k+1)a(k+2)..a(2k)a(1)a(2)...a(k),循环顺移了k位.
而且我们已经知道p|(10^k+1),因此10^k/p的小数部分实际上就是(p-1)/p的循环节.
而(p-1)/p=1-1/p=1-0.a(1)...a(2k)循环=0.(9-a(1))(9-a(2))...(9-a(2k))循环.
所以由于循环小数表示的唯一性,必须有:
9-a(1)=a(k+1)
9-a(2)=a(k+2)
...
9-a(k)=a(2k)
证明完毕.
举个例子,p=7,循环节长度为6,这是因为10^6-1=999999是7的倍数(这个由费马小定理可以担保),而且9,99,999,9999,99999都不是7的倍数.而且10^3+1=1001是7的倍数.
所以10^3/7的小数部分就等于6/7,和1/7的循环表示正好和为1,因此相对位置的和就必须是9.
不信可以验算,循环节表示为(10^6-1)/7=142857,1+8=9,4+5=9,2+7=9.