米迪定理說明如果将\frac{a}{p}化为b进制小数(其中p为质数,a是小于p的正整数),且小数的循环节长度是偶数,则有以下性质:
- 若將這個分數用循環小數寫成0.\overline{a_1a_2a_3...a_na_{n+1}...a_{2n}},则
- a_i+a_{i+n}=b-1
- a_1\dots a_n+a_{n+1}\dots a_{2n}=b^n-1.
這個定理還可再推廣为广义米迪定理:若把长度2n的循环节划分为长度为k的\frac{2n}{k}个组,即0.\overline{a_1a_2\cdots a_ka_{k+1}\cdots a_{2k}\cdots a_{2n-k+1}a_{2n-k+2}\cdots a_{2n}},则a_1a_2...a_k + a_{k+1}a_{k+2} ... a_{2k} + ... + a_{2n-k+1}a_{l-k+2}...a_{2n}是b^k-1的倍數。
例
;\frac{1}{17}=0.\overline{0588235294117647}(10进制)
循环节长度是16,是偶数,可应用米迪定理。
- 0+9=10-1,5+4=10-1,8+1=10-1……
- 05882352+94117647=10^8-1
;\frac{1}{19}=0.\overline{052631578947368421}(10进制)
循环节长度是18,是偶数,可应用米迪定理。
- 0+9=10-1,5+4=10-1,2+7=10-1……
- 052631578+947368421=10^9-1
- 052631+578947+368421=10^6-1(广义米迪定理,k=6)
- 052+631+578+947+368+421=2997=3\times (10^3-1)(广义米迪定理,k=3)
;\frac{1}{19}=0.\overline{032745}_8
*032_8+745_8=777_8
*03_8+27_8+45_8=77_8.
定理的证明
米迪定理可以用群论中的结果来证明。然而,也可以用算术和同余来证明米迪定理:
设p为素数,a/p是0与1之间的分数。假设在b进制中,a/p的展开式的周期为l,所以:
:\frac{a}{p}=[0.\overline{a_1a_2\dots a_l}]_b
:\Rightarrow\frac{a}{p}b^l=[a_1a_2\dots a_l.\overline{a_1a_2\dots a_l}]_b
:\Rightarrow\frac{a}{p}b^l=N+[0.\overline{a_1a_2\dots a_l}]_b=N+\frac{a}{p}
:\Rightarrow\frac{a}{p}=\frac{N}{b^l-1}
其中N是在b进制中的展开式为a1a2...al的整数。
因为\frac{a}{p}(b^l-1)=N且N为整数,所以b^l-1必为p的倍数。另外,对于任何小于l的n,bn−1都不是p的倍数,否则在b进制中a/p的周期将小于l,这是不可能的。
现在,假设l=hk。那么bl−1是bk − 1的倍数。设bl − 1 = m(bk − 1),因此:
:\frac{a}{p}=\frac{N}{m(b^k-1)}.
但bl−1是p的倍数;bk−1不是p的倍数(因为k小于l);且p是素数;因此m一定是p的倍数,且
:\frac{am}{p}=\frac{N}{b^k-1}
是整数。也就是说:
:N\equiv0\pmod{b^k-1}.
现在,把a1a2...al分成h个长度为k的部分,并设它们在b进制中表示N0...Nh − 1,所以:
:N_{h-1}=[a_1\dots a_k]_b
:N_{h-2}=[a_{k+1}\dots a_{2k}]_b
:.
:.
:N_0=[a_{l-k+1}\dots a_l]_b
为了证明b进制中广义的米迪定理,我们必须证明h个整数Ni的和是bk − 1的倍数。
由于bk被bk−1除余1,任何bk的幂被bk − 1除也余1。因此:
:N=\sum_{i=0}^{h-1}N_ib^{ik}=\sum_{i=0}^{h-1}N_i(b^{k})^i
:\Rightarrow N \equiv \sum_{i=0}^{h-1}N_i \pmod{b^k-1}
:\Rightarrow \sum_{i=0}^{h-1}N_i \equiv 0 \pmod{b^k-1}
这就证明了b进制中广义的米迪定理。
为了证明原先的米迪定理,取h = 2的特殊情况。注意N0和N1在b进制中都由k个数字表示,所以都满足
:0 \leq N_i \leq b^k-1.
N0和N1不能都等于0(否则a/p = 0),也不能都等于bk − 1(否则a/p = 1),因此:
:0
由于N0 + N1是bk − 1的倍数,所以有:
:N_0+N_1 = b^k-1.
参考资料
外部链接
*
评论 (0)