我们假设n为素数,并且1/n的结果可以表达为一个从小数点之后开始的周期为(n-1)的无限循环小数。 现在我们来证明:这一循环往复出现的(n-1)位数字,一定是一个神奇数字。 让我们明确,一个(n-1)位的神奇数字M,应该具备以下两个特征: 1, M * n = 10^(n-1) - 1
首先: (1) 1/n 可以表达为:0.a1 a2 a3 a4 ... a(n-1) a(n) a(n+1) ... 由于1/n是一个从小数点后之开始的周期为(n-1)的无限循环小数,我们可以认定: (1)与(2) 两者相减,得到: 这就满足了神奇数字的第一条特征。
同样地,将 1/n 表达为:0.a1 a2 a3 a4 ... a(n-1) a(n) a(n+1) ... 设 d(k) = X(k) * n = 10^k - {a1, a2, .., ak} * n 还是由于 d(k) = X(k) * n,0 < X(k) < 1,而且对于任意一对(k0, k1),只要k0 <> k1,则X(k0) <> X(k1), 由于X(k)是由1/n的小数点向后移动k个位置后所得到的小数部分, 对于每一个正整数i,(1<=i<=n-1),我们都可找到唯一的一个k=d'(i),也就是d(k) = i, 自然第二条也满足了。 至于上述d(k)函数的取值,可以通过下面的方法计算得到:
如果素数n,其1/n的结果可以表达为一个从小数点之后开始的周期为(n-1)的无限循环小数, ======================================================================= 附加证明 若n为素数,且n<>2, n<>5,那么对于1/n来说,从小数点之后便开始出现循环,
其循环周期必然小于n。 证明:
1/n 可以表达为:0.a1 a2 a3 ... a(n-1) a(n) a(n+1) ...
令 X(k) = 1/n * 10^k - {0, a1, a2, ..., ak} (0<=k)
X(0) = 1/n * 10^0 = 1/n
X(1) = 1/n * 10^1 - {a1}
...
可见 X(k)就是将1/n的小数点向后移动k位后所得新数的小数部分。
令 d(k) = X(k) * n = 10^k - {0, a1, a2, ..., ak} * n (0<=k)
则 d(k) = 10^k (mod n)
显然 d(i)为正整数,且 d(i) < n
另外由于 (10,n) = 1,所以 d(i) <> 0 (i>=0)
因而:1 <= d(i) <= n-1 (i>=0) 考察 d(0), d(1), d(2), ..., d(n-1) 这一数列,
由于这n个整数的取值范围在1和(n-1)之间,
因而,必定存在一对(k1,k2),0<=k1<k2<=n-1,使得d(k1)=d(k2)。
也即是说,10^k1=10^k2 (mod n)
由于(10^k1, n)=1
这样便可推断 10^0 = 10^(k2-k1) (mod n)
即:d(0) = d(k2-k1) (mod n)
由于1 <= d(i) <= n-1 (i>=0)
因而 d(0) = d(k2-k1) 由于 0<=k0<k1<=n-1,
令 k0 = k2-k1, 则 d(0) = d(k0) (0<k0<=n-1) 由于 X(k) = d(k) / n,
因而,X(0) = X(k0), X(0) 可以表达为:0.a1 a2 a3 ...a(k0-1) a(k0) a(k0+1) ... a(n-1) a(n) a(n+1) ...
X(k0) 可以表达为:0.a(k0+1) a(k0+2) ... a(n-1) a(n) a(n+1) ... 显然,从小数点之后便开始有“a1 a2 ... a(k0)”这k0位数字的循环出现, 而且由于0<k0<=n-1,因而对于1/n来说,其循环周期必然小于n。 |
|
来自: oliverchenbing > 《我的图书馆》