任何一个素数倒数的循环小数位数一定小于素数本身
一般素数倒数的小数都比较复杂,因为素数的倒数也是一个分数,所以一定是一个循环小数(除了2和5以外) ,但是素数的循环小数位数最大有多少呢,有没有可能非常大,无限长呢,这是本文要解决的问题?
素数倒数的循环小数位数说明:
1/3=0.33...,循环小数=3,循环小数位数=1
1/7=0.142857142857... ,循环小数=142857,循环小数位数=6
1/11=0.0909...,循环小数=09,循环小数位数=2
1/13=0.076923076923...,循环小数=076923,循环小数位数=6
1/17=0.05882352941176470588235294117647...,循环小数=0588235294117647,循环小数位数=16
1/19=0.052631578947368421052631578947368421...,循环小数=052631578947368421,循环小数位数=18
1/23=0.04347826086956521739130434782608695652173913...,循环小数=0434782608695652173913,循环小数位数=22
1/23=0.03448275862068965517241379310344827586206896551724137931...,循环小数=0344827586206896551724137931,循环小数位数=28
1/31=0.032258064516129032258064516129...,循环小数=032258064516129,循环小数位数=15
1/37=0.027027...,循环小数=027,循环小数位数=3
1/41=0.0243902439...,循环小数=02439,循环小数位数=5
...
1/97=0.010309278350515463917525773195876288659793814432989690721649484536082474226804123711340206185567...,循环小数位数=96
从以上列表可以看出,素数倒数的循环小数位一般都比较多,但是没有看到过位数大于素数本身的情况,用程序做测试,发现1000以内的数也是如此,因此想是否可以证明一下这个结论。
以下是证明思路:
假设p是一个素数,1/p的循环小数位为x,1/p则可以表示为x/999...9 ,分母总共有x个9,
例如:
1/3=0.33...,循环小数=3,循环小数位数=1,则1/3=3/9
1/7=0.142857142857... ,循环小数=142857,循环小数位数=6,则1/7=142857/999999
1/37=0.027027...,循环小数=027,循环小数位数=3,则1/37=027/999
证明过程:
假设1/p=0.x1x2..xn......,x1x2..xn是循环小数,总共有n位,我们做一些变换:
10^n*(1/p)
=10^n*(0.x1x2..xn......)=x1x2..xn+0.x1x2..xn......
=>10^n*(0.x1x2..xn......)-0.x1x2..xn......=x1x2..xn
=>(10^n-1)*(0.x1x2..xn......)=x1x2..xn
=>0.x1x2..xn......=x1x2..xn/(10^n-1)
=>0.x1x2..xn......=x1x2..xn/999...9(总共有n-1个9)
假设K=999...9,总有p-1个9,通过上述说明,我们只要能找到一个整数x,x小于K并且1/p=x/K,则我们的命题得证。
要证明这个结论需要引用费马小定理,
参见:
百度百科:http://baike.baidu.com/view/263807.htm
费马小定理是数论中的一个重要定理,其一段内容为: 假如p是质数,且(a,p)=1,那么 a^(p-1) ≡1(mod p)
假设p是一个素数,这里我们取a=10,(10,p)=1
则有结论
10^(p-1) ≡1(mod p)
10^(p-1)-1≡0(mod p)
10^(p-1)-1=999...9,总共有p-1个9,这里缩写为K
K≡0(mod p),因此存在一个整数x,使得
x*p=K
=>1/p=x/K
因为1/p小于1,所以x肯定也小于K,由于K由p-1个9构成,所以x的位数也小于p.
到此命题得证。