信息安全数学基础-欧拉定理 快速模幂 2021-09-28

6. 欧拉定理 快速模幂

1. 欧拉定理和Fermat定理

欧拉定理(很重要!!!!!)

定理(Euler定理)

若 ( k , m ) = 1 ,   则   k φ ( m ) ≡ 1 ( m o d   m ) 若(k,m)=1,\ 则\ k^{\varphi(m)}≡1(mod\ m) (k,m)=1,  kφ(m)1(mod m)

证明

设 置 a 1 , a 2 , . . . , a φ ( m ) 是 模 m 的 一 个 既 约 剩 余 系 由 于 ( k , m ) = 1 , 则 k a 1 , k a 2 , . . . , k a φ ( m ) 也 是 模 m 的 一 个 既 约 剩 余 系 从 而 有 : ∏ i = 1 φ ( m ) ( k a i ) ≡ ∏ i = 1 φ ( m ) ( a i ) ( m o d   m ) ( 左 右 两 边 都 是 一 个 既 约 剩 余 系 相 乘 ) 进 而 有 : k φ ( m ) ∏ i = 1 φ ( m ) ( a i ) ≡ ∏ i = 1 φ ( m ) ( a i ) ( m o d   m ) 从 而 k φ ( m ) ≡ 1 ( m o d   m ) ( 由 于 每 一 个 a i 都 与 m 互 素 , 因 此 ∏ i = 1 φ ( m ) ( a i ) 与 m 互 素 , 由 同 余 的 性 质 知 可 以 约 去 ) 设置a_1,a_2,...,a_{\varphi(m)}是模m的一个既约剩余系 \\由于(k,m)=1,则ka_1,ka_2,...,ka_{\varphi(m)}也是模m的一个既约剩余系 \\从而有:\prod_{i = 1}^{\varphi(m)}(ka_i)≡\prod_{i = 1}^{\varphi(m)}(a_i)(mod\ m) \\(左右两边都是一个既约剩余系相乘) \\进而有:k^{\varphi(m)}\prod_{i = 1}^{\varphi(m)}(a_i)≡\prod_{i = 1}^{\varphi(m)}(a_i)(mod\ m) \\从而k^{\varphi(m)}≡1(mod\ m) \\(由于每一个a_i都与m互素,因此\prod_{i = 1}^{\varphi(m)}(a_i)与m互素,由同余的性质知可以约去) a1,a2,...,aφ(m)m(k,m)=1,ka1,ka2,...,kaφ(m)mi=1φ(m)(kai)i=1φ(m)(ai)(mod m)()kφ(m)i=1φ(m)(ai)i=1φ(m)(ai)(mod m)kφ(m)1(mod m)(aimi=1φ(m)(ai)m)

Fermat小定理

Corollary(Fermat小定理)

若 p 为 素 数 , 则 对 所 有 的 整 数 a 有 a p ≡ a ( m o d   p ) 若p为素数,则对所有的整数a有a^p≡a(mod\ p) paapa(mod p)

证明

因 p 是 素 数 , 则 对 任 何 整 数 a , 有 p ∣ a , 或 ( a , p ) = 1 若 p ∣ a , 显 然 有 a p ≡ a ( m o d   p ) ( 令 p q = a , 一 看 便 知 ) 若 ( a , p ) = 1 , 则 由 欧 拉 定 理 ,   a φ ( p ) ≡ 1 ( m o d   p ) 又 φ ( p ) = p − 1 , 于 是 a p − 1 ≡ 1 ( m o d   p ) ⇨ a p ≡ a ( m o d   p ) 因p是素数,则对任何整数a,有p|a,或(a,p)=1 \\若p|a,显然有a^p≡a(mod\ p)(令pq=a,一看便知) \\若(a,p)=1,则由欧拉定理,\ a^{\varphi(p)}≡1(mod\ p) \\又\varphi(p)=p-1,于是 \\a^{p-1}≡1(mod\ p)⇨a^p≡a(mod\ p) papa(a,p)=1paapa(mod p)pq=a,便(a,p)=1, aφ(p)1(mod p)φ(p)=p1ap11(mod p)apa(mod p)

  • 费马小定理虽然可以看作是欧拉定理的推论,但从费马小定理也可以推出欧拉定理
Fermat小定理的逆定理是否成立?答案:不成立

证明思路: 2 F n ≡ 2 ( m o d F n ) 2^{F_n}≡2(mod F_n) 2Fn2(modFn),但是 F 5 F_5 F5是合数

证明过程如下:
设 n 是 正 整 数 , 记 F n = 2 2 n + 1 , 则 有 2 F n ≡ 2 ( m o d   F n ) 证 明 : 当 n ≤ 4 时 , F n 是 素 数 , 由 F e r m a t 小 定 理 可 知 结 论 成 立 当 n ≥ 5 时 , 有 n + 1 < 2 n , 从 而 2 n + 1 ∣ 2 n 记 2 2 n = k 2 n + 1 , 则 2 F n − 2 = ( 2 2 2 n + 1 − 2 ) = ( 2 k 2 n + 1 + 1 − 2 ) = ( 2 ⋅ 2 k 2 n + 1 − 2 ) = 2 ( 2 k 2 n + 1 − 1 ) = 2 ( ( 2 n + 1 ) k − 1 ) = 2 Q 1 ( 2 2 n + 1 − 1 ) = 2 Q 1 ( 2 2 n ⋅ 2 − 1 ) = 2 Q 1 ( ( 2 2 n ) 2 − 1 ) = Q 2 ( 2 2 n + 1 ) 由 于 Q 1 , Q 2 是 整 数 , 上 式 即 为 : 2 F n ≡ 2 ( m o d F n ) 由 于 F 5 是 合 数 , 说 明 F e r m a t 小 定 理 的 逆 定 理 不 成 立 设n是正整数,记F_n=2^{2^n}+1,则有2^{F_n}≡2(mod\ F_n) \\证明:当n\leq 4时,F_n是素数,由Fermat小定理可知结论成立 \\当n\geq 5时,有n+1<2^n,从而2^{n+1}|2^n \\记2^{2^n}=k2^{n+1},则 \\2^{F_n}-2=(2^{2^{2^n}+1}-2) \\=(2^{k2^{n+1}+1}-2) \\=(2·2^{k2^{n+1}}-2) \\=2(2^{k2^{n+1}}-1) \\=2({(2^{n+1})}^k-1) \\=2Q_1(2^{2^{n+1}}-1) \\=2Q_1(2^{2^n·2}-1) \\=2Q_1({(2^{2^n})}^2-1) \\=Q_2(2^{2^n}+1) \\由于Q_1,Q_2是整数,上式即为:2^{F_n}≡2(mod F_n) \\由于F_5是合数,说明Fermat小定理的逆定理不成立 nFn=22n+12Fn2(mod Fn)n4FnFermatn5n+1<2n,2n+12n22n=k2n+1,2Fn2=(222n+12)=(2k2n+1+12)=(22k2n+12)=2(2k2n+11)=2((2n+1)k1)=2Q1(22n+11)=2Q1(22n21)=2Q1((22n)21)=Q2(22n+1)Q1,Q22Fn2(modFn)F5Fermat

2. Wilson定理

定理(Wilson定理)

设 p 是 一 个 素 数 , 则   ( p − 1 ) ! ≡ − 1 ( m o d   p ) 设p是一个素数,则\ (p-1)!≡-1(mod\ p) p (p1)!1(mod p)

证明

p = 2 时 , ( 2 − 1 ) ! ≡ − 1 ( m o d   2 ) 设 p ≤ 3 , 则 对 于 每 个 a ,   1 ≤ a < p , 存 在 唯 一 的 整 数 a ′ ,   1 ≤ a ′ < p , 使 得 : a a ′ ≡ 1 ( m o d   p ) ( 这 是 因 为 p 是 素 数 , 对 于 小 于 p 的 整 数 a , 一 定 有 ( a , p ) = 1 ) 于 是 , a ′ = a ⇿ a 2 ≡ 1 ( m o d   p ) , 这 时 a = 1 或 a = p − 1 ( 为 什 么 呢 ? ? ? ) 因 此 当 a 与 a ′ 取 2 , . . . p − 2 中 的 数 时 , a ≠ a ′ 。 把 2 , 3 , . . . , p − 2 中 的 a 与 a ′ 配 对 , 有 ( a a ′ ) ( a a ′ ) . . . ( a a ′ ) = 2 ⋅ 3... ( p − 2 ) 因 a a ′ ≡ 1 ( m o d   p ) , 所 以 2 ⋅ 3... ( p − 2 ) ≡ 1 ( m o d   p ) 故 ( p − 1 ) ! ≡ 1 ⋅ ( p − 1 ) ≡ − 1 ( m o d   p ) p = 2时,(2-1)!≡-1(mod\ 2) \\设p\leq 3,则对于每个a,\ 1\leq a <p,存在唯一的整数a',\ 1\leq a'<p ,使得: \\aa'≡1(mod\ p) \\(这是因为p是素数,对于小于p的整数a,一定有(a,p)=1) \\于是,a'=a⇿a^2≡1(mod \ p),这时a=1或a=p-1(为什么呢???) \\因此当a与a'取2,...p-2中的数时,a≠a'。 \\把2,3,...,p-2中的a与a'配对,有 \\(aa')(aa')...(aa')=2·3...(p-2) \\因aa'≡1(mod\ p),所以2·3...(p-2)≡1(mod\ p) \\故(p-1)!≡1·(p-1)≡-1(mod\ p) p=2(21)!1(mod 2)p3,a, 1a<p,a, 1a<p,使:aa1(mod p)(ppa(a,p)=1)a=aa21(mod p),a=1a=p1???aa2,...p2a=a2,3,...,p2aa(aa)(aa)...(aa)=23...(p2)aa1(mod p)23...(p2)1(mod p)(p1)!1(p1)1(mod p)

对(为什么呢???)的解答:

a a ′ ≡ 1 ( m o d   p ) 且 a = a ′ ⇒ a 2 − 1 ≡ 0 ( m o d   p ) ⇒ p ∣ a 2 − 1 ⇒ p ∣ ( a − 1 ) ( a + 1 ) 由 于 p 是 素 数 , 因 此 p ∣ ( a − 1 ) 和 p ∣ ( a + 1 ) 至 少 一 个 成 立 若 p ∣ ( a − 1 ) , 由 于 1 ≤ a < p , 知 只 能 取 a − 1 = 0 ⇒ a = 1 若 p ∣ ( a + 1 ) , 由 于 1 ≤ a < p , 知 只 能 取 a + 1 = p ⇒ a = p − 1 aa'≡1(mod\ p)且a=a' \\ \Rightarrow a^2-1≡0(mod\ p) \\ \Rightarrow p|a^2-1 \\ \Rightarrow p|(a-1)(a+1) \\由于p是素数,因此p|(a-1)和p|(a+1)至少一个成立 \\若p|(a-1),由于1\leq a<p,知只能取a-1 = 0\Rightarrow a=1 \\若p|(a+1),由于1\leq a<p,知只能取a+1 = p\Rightarrow a=p-1 aa1(mod p)a=aa210(mod p)pa21p(a1)(a+1)pp(a1)p(a+1)p(a1)1a<pa1=0a=1p(a+1)1a<pa+1=pa=p1

Wilson定理的逆定理成立
逆定理

设 n 是 使 得 ( n − 1 ) ! ≡ − 1 ( m o d   n ) 成 立 的 正 整 数 且 n ≥ 2 , 则 n 是 一 个 素 数 。 设n是使得(n-1)!≡-1(mod\ n)成立的正整数且n\geq 2,则n是一个素数。 n使(n1)!1(mod n)n2,n

证明

反 证 法 : 假 设 n 是 一 个 合 数 , 则 存 在 整 数 1 < a < n , 1 < b < n , 使 得 n = a b 因 此 a ∣ ( n − 1 ) ! , 而 由 题 设 ( n − 1 ) ! ≡ − 1 ( m o d   n ) , 得 n ∣ ( n − 1 ) ! + 1 而 a ∣ n , 得 a ∣ ( n − 1 ) ! + 1 又 a ∣ ( n − 1 ) ! , 得 a ∣ 1 , 但 a > 1 , 矛 盾 反证法:假设n是一个合数,则存在整数1<a<n,1<b<n,使得n = ab \\因此a|(n-1)!,而由题 \\设(n-1)!≡-1(mod\ n),得n|(n-1)!+1而a|n,得a|(n-1)!+1 \\又a|(n-1)!,得a|1,但a>1,矛盾 n1<a<n1<b<n使n=aba(n1)!(n1)!1(mod n),n(n1)!+1ana(n1)!+1a(n1)!a1a>1

  • Wilson定理可用来判断一个合数不是素数

欧拉定理得应用

1. 计算 7 10001 7^{10001} 710001的十进制表示中的个位数

7 φ ( 10 ) ≡ 1 ( m o d   10 ) 7 10001 = 7 4 ∗ 2500 + 1 ≡ 7 ( m o d   10 ) 7^{\varphi(10)}≡1(mod\ 10) \\7^{10001}=7^{4*2500+1}≡7(mod\ 10) 7φ(10)1(mod 10)710001=742500+17(mod 10)

2. 求逆元

利用欧拉定理,可以得到一个求元素逆元的方法,即给定正整数a和n,其中(a , n)=1,求 a − 1 m o d   n a^{-1}mod\ n a1mod n
利 用 欧 拉 定 理 a φ ( n ) ≡ 1 ( m o d   n ) 从 而 有 a ⋅ a φ ( n ) − 1 ≡ 1 ( m o d   n ) , 因 此 a − 1 ≡ a φ ( n ) − 1 ( m o d   n ) 利用欧拉定理a^{\varphi(n)}≡1(mod\ n) \\从而有a·a^{\varphi(n)-1}≡1(mod\ n),因此 \\a^{-1}≡a^{\varphi(n)-1}(mod\ n) aφ(n)1(mod n)aaφ(n)11(mod n)a1aφ(n)1(mod n)

3. 快速模幂算法

模幂算法:直观算法

在模运算中,常常要对大模数m和大整数n,计算 b n ( m o d   m ) b^n(mod\ m) bn(mod m)

最直观的想法,可以递归地计算

b 1 ≡ b ( m o d   m ) , b 2 ≡ b ⋅ b 1 ( m o d   m ) , b 3 ≡ b ⋅ b 2 ( m o d   m ) , . . . , b n ≡ b ⋅ b n − 1 ( m o d   m ) b_1≡b(mod\ m),b_2≡b·b_1(mod\ m),b_3≡b·b_2(mod\ m),...,b_n≡b·b_{n-1}(mod\ m) b1b(mod m),b2bb1(mod m),b3bb2(mod m),...,bnbbn1(mod m)

当n很大时,直观算法不实用,乘法取模次数为n-1

当n=21000时,这个次数是个天文数字

快速模幂算法

b n   m o d   m b^n\ mod\ m bn mod m快速模幂算法
Step1. 计算n的二进制表示

n = n 0 ⋅ 2 0 + n 1 ⋅ 2 1 + n 2 ⋅ 2 2 + . . . + n r ⋅ 2 r , n 0 , . . . , n r ∈ { 0 , 1 } n = n_0·2^{0}+n_1·2^{1}+n_2·2^{2}+...+n_r·2^{r},n_0,...,n_r∈\{0,1\} n=n020+n121+n222+...+nr2r,n0,...,nr{01}

这里 n r = 1 n_r=1 nr=1

Step2. 计算 b 2 i ( m o d   m ) , 0 ≤ i ≤ r b^{2^i}(mod\ m),0\leq i\leq r b2i(mod m)0ir

a 0 ≡ b ( m o d   m ) a_0≡b(mod\ m) a0b(mod m)

a 1 ≡ a 0 2 ≡ b 2 1 ( m o d   m ) a_1≡{a_0}^2≡b^{2^1}(mod\ m) a1a02b21(mod m)

a 2 ≡ a 1 2 ≡ b 2 2 ( m o d   m ) a_2≡{a_1}^2≡b^{2^2}(mod\ m) a2a12b22(mod m)

a 3 ≡ a 2 2 ≡ b 2 3 ( m o d   m ) a_3≡{a_2}^2≡b^{2^3}(mod\ m) a3a22b23(mod m)

a r ≡ a r − 1 2 ≡ b 2 r ( m o d   m ) a_r≡{a_{r-1}}^2≡b^{2^r}(mod\ m) arar12b2r(mod m)

每一项是前一项的平方,因此总共需要r次乘法

Step3. 最后计算 b n ( m p d   m ) b^n(mpd\ m) bn(mpd m)如下

b n = b n 0 + n 1 ⋅ 2 1 + n 2 ⋅ 2 2 + . . . + n r ⋅ 2 r = b n 0 ⋅ ( b 2 ) n 1 ⋅ ( b 2 2 ) n 2 ⋅ ( b 2 3 ) n 3 . . . ⋅ ( b 2 r ) n r ≡ a 0 n 0 ⋅ a 1 n 1 ⋅ a 2 n 2 ⋅ a 3 n 3 ⋅ . . . a r n r ( m o d   m ) b^n=b^{n_0+n^1·2^{1}+n^2·2^{2}+...+n^r·2^{r}} \\=b^{n_0}·{(b^2)}^{n_1}·{({b^2}^2)}^{n_2}·{({b^2}^3)}^{n_3}...·{({b^2}^r)}^{n_r} \\≡{a_0}^{n_0}·{a_1}^{n_1}·{a_2}^{n_2}·{a_3}^{n_3}·...{a_r}^{n_r}(mod \ m) bn=bn0+n121+n222+...+nr2r=bn0(b2)n1(b22)n2(b23)n3...(b2r)nra0n0a1n1a2n2a3n3...arnr(mod m)

由于在第二部已经计算了 a 0 , a 1 , . . . , a r a_0,a_1,...,a_r a0,a1,...,ar,最后只需要查看哪些 n i n_i ni不为0,共需要不超过r的乘法

快速模幂算法的运行时间:
  • 至多2r次模乘运算,由于n> 2 r 2^r 2r,从而至多 2 l o g 2 n 2{log}_2n 2log2n次模乘运算
  • 当n约等于 2 1000 2^{1000} 21000时,计算 2 n   m o d   m 2^n\ mod\ m 2n mod m需要大约2000次模乘即可完成
  • 但是,快速模幂算法需要储存中间结果,为进一步优化,需考虑减少存储需求,进而有平方乘算法。

平方乘算法(从低位到高位)

n的二进制展开后,循环从低位到高位

Square-and-Multiply(b , n , m){
#平方乘算法,计算c=b^n(mod m)
#输入:整数b,幂次n,模数m
#输出:模幂的结果c
    n = n0+n1*2^1+n2*2^2+...+nr*2^r, n0,...,n(r-1)取值01,n_r = 1
    c = 1,若n = 0,返回c
    A = b
    若n0 = 1,则令c = b
    for i = 1 to r{
        A = A*A mod m
        if ni = 1  c ← A*c mod m
    }
    return c
}

平方乘算法(从高位到低位)

n的二进制展开后,循环从高位到低位

Square-and-Multiply(b , n , m){
#平方乘算法,计算c=b^n(mod m)
#输入:整数b,幂次n,模数m
#输出:模幂的结果c
    n = n0+n1*2^1+n2*2^2+...+nr*2^r, n0,...,n(r-1)取值01,n_r = 1
    c = 1
    for i = r to 0{
        c = c*c mod m
        if ni = 1  c ← c*b mod m
    }
    return c
}

平方乘算法注记:

  • 从低位到高位计算的次序、计算的复杂度相同,但存储略有不同(从高位到地位略好),一般采用高位到低位
  • 两种次序的平方乘算法的正确性证明:作业
  • 其他进制表示法:预计算 + 从低位到高位
  • 平方乘算法应用在RSA密码算法的实现中

几个例子

快速模幂算法

计算 3 218 ( m o d   100 ) 3^{218}(mod \ 100) 3218(mod 100)

3 218 = 2 + 2 3 + 2 4 + 2 6 + 2 7 3^{218}=2+2^3+2^4+2^6+2^7 3218=2+23+24+26+27

3 218 = 3 2 + 2 3 + 2 4 + 2 6 + 2 7 = 3 2 1 ⋅ 3 2 3 ⋅ 3 2 4 ⋅ 3 2 6 ⋅ 3 2 7 3^{218}=3^{2+2^3+2^4+2^6+2^7}=3^{2^1}·3^{2^3}·3^{2^4}·3^{2^6}·3^{2^7} 3218=32+23+24+26+27=321323324326327

i01234567
3 2 i ( m o d   1000 ) 3^{2^i}(mod\ 1000) 32i(mod 1000)3981561721841281961

3 218 = 3 2 1 ⋅ 3 2 3 ⋅ 3 2 4 ⋅ 3 2 6 ⋅ 3 2 7 3^{218}=3^{2^1}·3^{2^3}·3^{2^4}·3^{2^6}·3^{2^7} 3218=321323324326327

≡ 9 ⋅ 561 ⋅ 721 ⋅ 281 ⋅ 961 ( m o d   1000 ) ≡9·561·721·281·961(mod\ 1000) 9561721281961(mod 1000)

≡ 489 ( m o d   1000 ) ≡489(mod\ 1000) 489(mod 1000)

平方乘算法(从低位到高位)

5 596   m o d   1234 5^{596}\ mod\ 1234 5596 mod 1234

i0123456789
n i n_i ni0010101001
A5256256811011369421779947925
c1162562567671059105910591013
平方乘算法(从高位到低位)

5 596   m o d   1234 5^{596}\ mod\ 1234 5596 mod 1234

i9876543210
n i n_i ni1001010100
c525625937595596453591591013

4. 欧拉定理的应用:循环小数秘密

问题的提出

任何一个有理数都可以写成分数的形式,即 a b , b > 0 \frac{a}{b},b>0 ba,b>0。由带余除法知, a = q b + r , 0 ≤ r < b a = qb + r,0\leq r<b a=qb+r0r<b,即:
a b = q + b r ,    0 ≤ r b < 1 \frac{a}{b}=q+\frac{b}{r},\ \ 0\leq \frac{r}{b}<1 ba=q+rb,  0br<1
那么只需要讨论0与1之间的分数与小数互化

循环小数的定义

循环小数的定义

若对一个无限小数 0. a 1 a 2 . . . a n . . . 0.a_1a_2...a_n... 0.a1a2...an... a n a_n an是0 , 1 , … , 9中的一个数,并且从任何一位以后不全是0),能找到两个整数 s ≥ 0 , t > 0 s\geq0,t>0 s0,t>0使得
a s + i = a s + i + k t   ,    i = 1 , 2 , . . . , t ; k = 0 , 1 , 2 , . . . a_{s+i}=a_{s+i+kt} \ , \ \ i=1,2,...,t;k=0,1,2,... as+i=as+i+kt ,  i=1,2,...,t;k=0,1,2,...
则称之为循环小数,并简单记作 0. a 1 a 2 . . . a s a ˙ s + 1 . . . a ˙ s + t 0.a_1a_2...a_s\dot{a}_{s+1}...\dot{a}_{s+t} 0.a1a2...asa˙s+1...a˙s+t

对于循环小数而言,具有上述性质的s及t是不止一个的,若找到的t是最小的,则称 a s + 1 . . . a s + t {a}_{s+1}...a_{s+t} as+1...as+t为循环节;t称为循环节的长度;若最小的s = 0,则称这个小数为纯循环小数,否则叫混循环小数。

问题的提出

对有理数 a b , 0 ≤ a < b , ( a , b ) = 1 \frac{a}{b},0\leq a<b,(a,b)=1 ba0a<b(a,b)=1,满足什么条件下可以表示成纯循环小数?

纯循环小数的判定

定理

有理数 a b , 0 ≤ a < b , ( a , b ) = 1 \frac{a}{b},0\leq a<b,(a,b)=1 ba0a<b(a,b)=1,能表成纯循环小数的充分必要条件 ( b , 10 ) = 1 (b,10)=1 (b,10)=1

证明
必要性:

先 证 明 必 要 性 : 若 a b 能 表 成 纯 循 环 小 数 , 则 由 0 < a b < 1 可 知 a b = 0. a 1 a 2 . . . a t a 1 a 2 . . . a t . . . 因 而 1 0 t a b = 1 0 t − 1 a 1 + 1 0 t − 2 a 2 + . . . + 10 a t − 1 + a t + 0. a 1 a 2 . . . a t a 1 a 2 . . . a t . . . = q + a b ( q > 0 ) 故 有 a b = q 1 0 t − 1 , 即 a ( 1 0 t − 1 ) = b q . 由 ( a , b ) = 1 即 得 b ∣ ( 1 0 t − 1 ) , 因 而 ( b , 10 ) = 1 ( b = 1 0 t − 1 = 99...9 = 11...1 × 9 , 因 此 b 与 10 互 素 ) 先证明必要性:若\frac{a}{b}能表成纯循环小数,则由0<\frac{a}{b}<1可知 \\\frac{a}{b}=0.a_1a_2...a_ta_1a_2...a_t... \\因而10^t\frac{a}{b} \\=10^{t-1}a_1+10^{t-2}a_2+...+10a_{t-1}+a_t+0.a_1a_2...a_ta_1a_2...a_t... \\=q+\frac{a}{b}(q>0) \\故有\frac{a}{b}=\frac{q}{10^t-1},即a(10^t-1)=bq. \\由(a,b)=1即得b|(10^t-1),因而(b,10)=1 \\(b=10^t-1=99...9=11...1×9,因此b与10互素) ba0<ba<1ba=0.a1a2...ata1a2...at...10tba=10t1a1+10t2a2+...+10at1+at+0.a1a2...ata1a2...at...=q+ba(q>0)ba=10t1q,a(10t1)=bq.(a,b)=1b(10t1)(b,10)=1b=10t1=99...9=11...1×9,b10

没看懂充分性的证明……一定回来复盘重新看一下!!!!!!!

再 证 明 充 分 性 : 若 ( b , 10 ) = 1 , 则 由 欧 拉 定 理 知 , 存 在 一 个 整 数 t , 使 得 1 0 t ≡ 1 ( m o d   b ) , 0 ≤ t ≤ φ ( b ) 因 此 1 0 t a = q b + a , 且 0 < q < 1 0 t a b ≤ 1 0 t ( 1 − 1 b ) < 1 0 t − 1 , ( 第 一 个 ≤ 号 : 用 到 a + 1 ≤ b ; 最 后 一 个 < 号 : 用 到 b < 1 0 t ) ( 这 又 是 为 什 么 呢 ? ? ? ) 故 1 0 t a b = q + a b 令 q = 10 q 1 + a t ,   q 1 = 10 q 2 + a t − 1 , . . . ,   q t − 1 = 10 q t + a 1 ,   0 ≤ a i 则 q = 1 0 t q t + 1 0 t − 1 a 1 + . . . + 10 a t − 1 + a t , 由 0 < q < 1 0 t − 1 得 q t = 0 且 a 1 , a 2 , . . . , a t 不 全 是 9 , 也 不 全 是 0 , 因 此 q 1 0 t = 0. a 1 a 2 . . . a t a b = 0. a 1 a 2 . . . a t + 1 1 0 t ⋅ a b 反 复 应 用 上 式 即 得 a b = 0. a 1 a 2 . . . a t a 1 a 2 . . . a t = 0. a ˙ 1 . . . a ˙ t 再证明充分性:若(b,10)=1,则由欧拉定理知,存在一个整数t,使得 \\10^t≡1(mod\ b),0\leq t\leq\varphi(b) \\因此10^ta=qb+a, \\且0<q<10^t\frac{a}{b}\leq10^t(1-\frac{1}{b})<10^t-1, \\(第一个\leq号:用到a+1\leq b;最后一个<号:用到b<10^t) \\(这又是为什么呢???) \\故10^t\frac{a}{b}=q+\frac{a}{b} \\令q=10q_1+a_t,\ q_1=10q_2+a_{t-1},...,\ q_{t-1}=10q_t+a_1,\ 0\leq a_i \\则q=10^tq^t+10^{t-1}a_1+...+10a_{t-1}+a_t,由0<q<10^t-1 \\得q_t=0且a_1,a_2,...,a_t不全是9,也不全是0,因此 \\ \frac{q}{10^t}=0.a_1a_2...a_t \\ \frac{a}{b}=0.a_1a_2...a_t+\frac{1}{10^t}·\frac{a}{b} \\反复应用上式即得\frac{a} {b}=0.a_1a_2...a_ta_1a_2...a_t=0.\dot{a}_{1}...\dot{a}_{t} (b,10)=1,t使10t1(mod b),0tφ(b)10ta=qb+a0<q<10tba10t(1b1)<10t1a+1b<b<10t()10tba=q+baq=10q1+at, q1=10q2+at1,..., qt1=10qt+a1, 0aiq=10tqt+10t1a1+...+10at1+at,0<q<10t1qt=0a1,a2,...,at9010tq=0.a1a2...atba=0.a1a2...at+10t1baba=0.a1a2...ata1a2...at=0.a˙1...a˙t

这一章知识点感觉还蛮多的。单个看似懂非懂,综合起来脑子里面就一片空白了……还是要多复习多练习多熟悉

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值