欧拉函数求一个数倒数的循环节长度

首先,费马小定理a与p互素,则a^(p-1)≡1(mod p) 
对于一个素数p,取a=10,那么10^(p-1)≡1(mod p) 
如果找到一个正整数e使得10^e/p-1/p为整数,那么e就是1/p的循环节(但不一定是最小的那个),由费马小定理知,在不大于p-1的正整数中,e是存在的!
这还意味着,1/p的第一个循环节正好就在小数点后面,是个纯循环小数.
p-1是个和数所以10^(p-1)-1可以进行因式分解分解成为(10^p1-1)(10^(p-1-p1)+.+1)具体就不写了,其中p1为p-1的因数,如果有一个比p-1小的e满足“10^e/p-1/p为整数”那么这个e一定是p的约数.
(重要)Δ引理:一个循环小数除以2,其循环节大小不变 
证明:
1.每个循环节如果是偶数,显然不变 
2.如果是奇数,可以将本循环节最后的那个奇数码拿出一个1给后一个循环节,这样新循环节就又是偶数了,不过这个循环节是有重合的,比如0.45454545...就变成0.44+0.0144+0.00144...前面虽然多了些不是循环节的部分,不过循环节部分为数不受影响.
2008=2*2*2*251,251是素数,这样,我们只要求得1/251的循环节长度就好(除以2三次就是1/2008) 
根据最上面的那部分10^250≡1(mod 251),如果有更小的e满足10^e≡1(mod 251),那么e是250的约数,250的约数有2,5,10,25,50,250 
还有,同余式可以乘的,就是如果a≡c(mod m),b≡d(mod m) 则ab≡cd(mod m) 
10^3≡-4(mod 251) 所以 
10^5≡-400≡102(mod 251) 10^5不满足要求 
10^10≡10404≡113(mod 251) 10^10不满足要求 
10^20≡12769≡-32(mod 251) 10^20不满足要求 
10^25≡-3264≡-1(mod 251) 10^25不满足要求 
10^50≡1(mod 251) 10^50满足要求 
所以循环节的长度就是50
2008=2^3×251
φ(251)=250

250的正因数有1、2,5、10、25、50、125、250,x取上述正因数并且满足10^x≡1 (mod 251)的最小的x是50,所以1/2008的循环节长度是50.没有分,也勉为其难了,

如果上面没看懂的话看证明文件点击打开链接

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值