欧拉降幂证明(详解)

转自:点击这里

欧拉降幂公式

\quad \quad A K ≡ A K % ϕ ( m ) + ϕ ( m ) ( m o d m ) A^K≡A^{K\%ϕ(m)+ϕ(m)}( mod m) AKAK%ϕ(m)+ϕ(m)(modm) \quad \quad K > ϕ ( m ) K>ϕ(m) K>ϕ(m)

证明

\quad \quad A K ≡ A K % ϕ ( m ) + ϕ ( m ) ( m o d m ) A^K≡A^{K\%ϕ(m)+ϕ(m)}( mod m) AKAK%ϕ(m)+ϕ(m)(modm) \quad \quad K > ϕ ( m ) K>ϕ(m) K>ϕ(m) ( 1 ) \quad(1) (1)

  1. ( A , m ) = 1 (A,m)=1 (A,m)=1,根据欧拉定理 A ϕ ( m ) ≡ 1 ( m o d m ) A^{ϕ(m)}≡1(mod m) Aϕ(m)1(modm),易证
  2. ( A , m ) ≠ 1 (A,m)≠1 (A,m)=1,证明如下:

K = a ∗ ϕ ( m ) + c a ≥ 1 , 0 ≤ c < ϕ ( m ) K=a∗ϕ(m)+c \quad a≥1,0≤c<ϕ(m) K=aϕ(m)+ca1,0c<ϕ(m)

那么欧拉降幂公式就是

\quad \quad \quad A K ≡ A a ∗ ϕ ( m ) + c ≡ A ϕ ( m ) + c ( m o d m ) ( 2 ) A^K≡A^{a∗ϕ(m)+c}≡A^{ϕ(m)+c}( mod m)\quad(2) AKAaϕ(m)+cAϕ(m)+c(modm)(2)

\quad \quad \quad A a ∗ ϕ ( m ) ≡ A ϕ ( m ) ( m o d m ) A^{a∗ϕ(m)}≡A^{ϕ(m)}(mod m) Aaϕ(m)Aϕ(m)(modm)

\quad \quad \quad A 2 ∗ ϕ ( m ) ≡ A ϕ ( m ) ( m o d m ) A^{2∗ϕ(m)}≡A^{ϕ(m)}(mod m) A2ϕ(m)Aϕ(m)(modm)

移项

\quad \quad \quad A ϕ ( m ) ( A ϕ ( m ) − 1 ) ≡ 0 ( m o d m ) A^{ϕ(m)}(A^{ϕ(m)}−1)≡0(mod m) Aϕ(m)(Aϕ(m)1)0(modm)

\quad \quad \quad m ∣ A ϕ ( m ) ( A ϕ ( m ) − 1 ) ( 3 ) m|A^{ϕ(m)}(A^{ϕ(m)}−1)\qquad\qquad\qquad\qquad(3) mAϕ(m)(Aϕ(m)1)(3)

\quad \quad \quad ( m ( m , A ϕ ( m ) , A ) = 1 ( 4 ) (\frac{m}{(m,A^{ϕ(m)}},A) = 1\qquad\qquad\qquad\qquad(4) ((m,Aϕ(m)m,A)=1(4)

根据欧拉定理

A ϕ ( m ) ≡ A k ∗ ϕ ( m ( m , A ϕ ( m ) ) ≡ ( A ϕ ( m ( m , A ϕ ( m ) ) ) k ≡ 1 ( m o d ( m ( m , A ϕ ( m ) ) ) Aϕ(m)≡A^{k*ϕ(\frac{m}{(m,A^{ϕ(m)}})}≡(A^{ϕ(\frac{m}{(m,A^{ϕ(m)}})})^k≡1(mod(\frac{m}{(m,A^{ϕ(m)}})) Aϕ(m)Akϕ((m,Aϕ(m)m)(Aϕ((m,Aϕ(m)m))k1(mod((m,Aϕ(m)m))

其中 k ≥ 1 k≥1 k1

移项即得 m ( m , A ϕ ( m ) ) ∣ ( A ϕ ( m ) − 1 ) \frac{m}{(m,A^{ϕ(m)})}|(A^{ϕ(m)}−1) (m,Aϕ(m))m(Aϕ(m)1)

同时乘 ( m , A ϕ ( m ) ) (m,A^{ϕ(m)}) (m,Aϕ(m))

m ∣ ( m , A ϕ ( m ) ) ∗ ( A ϕ ( m ) − 1 ) m|(m,A^{ϕ(m)})∗(A^{ϕ(m)}−1) m(m,Aϕ(m))(Aϕ(m)1)

m ∣ A ϕ ( m ) ( A ϕ ( m ) − 1 ) m|A^{ϕ(m)}(A^{ϕ(m)}−1) mAϕ(m)(Aϕ(m)1) (式3)

进行素因子分解

\quad \quad A = p 1 a 1 ∗ p 2 a 2 ∗ . . . . ∗ p t 1 a t 1 ∗ q 1 b 1 ∗ q 2 b 2 ∗ . . . ∗ q t 2 b t 2 A=p_{1}^{a_{1}} * p_{2}^{a_{2}}∗....∗p_{t_{1}}^{a_{t_{1}}}∗q_{1}^{b_{1}}∗q_{2}^{b_{2}}∗...∗q_{t_{2}}^{b_{t_{2}}} A=p1a1p2a2....pt1at1q1b1q2b2...qt2bt2

\quad \quad m = p 1 c 1 ∗ p 2 c 2 ∗ . . . . ∗ p t 1 c t 1 ∗ q 1 d 1 ∗ q 2 d 2 ∗ . . . ∗ q t 2 d t 2 m=p_{1}^{c_{1}} * p_{2}^{c_{2}}∗....∗p_{t_{1}}^{c_{t_{1}}}∗q_{1}^{d_{1}}∗q_{2}^{d_{2}}∗...∗q_{t_{2}}^{d_{t_{2}}} m=p1c1p2c2....pt1ct1q1d1q2d2...qt2dt2

\quad \quad ( A , m ) = p 1 m i n ( a 1 , c 1 ) ∗ p 2 m i n ( a 2 , c 2 ) ∗ p t 1 m i n ( a t 1 , c t 1 ) (A,m)=p_{1}^{min(a_{1},c_{1})}*p_{2}^{min(a_{2},c_{2)}}*p_{t_{1}}^{min(a_{t_{1}},c_{t_{1}})} (A,m)=p1min(a1,c1)p2min(a2,c2)pt1min(at1,ct1)

( A ϕ ( m ) , m ) = p 1 m i n ( a 1 ∗ ϕ ( m ) , c 1 ) ∗ p 2 m i n ( a 2 ∗ ϕ ( m ) , c 2 ) ∗ p t 1 m i n ( a t 1 ∗ ϕ ( m ) , c t 1 ) (A^{ϕ(m)},m)=p_{1}^{min(a_{1}*ϕ(m),c_{1})}*p_{2}^{min(a_{2}*ϕ(m),c_{2)}}*p_{t_{1}}^{min(a_{t_{1}}*ϕ(m),c_{t_{1}})} (Aϕ(m),m)=p1min(a1ϕ(m),c1)p2min(a2ϕ(m),c2)pt1min(at1ϕ(m),ct1)

欧拉函数 ϕ ( m ) = p 1 c 1 − 1 ∗ p 2 c 2 − 1 ∗ . . . . ∗ p t 1 c t 1 − 1 ( p 1 − 1 ) ( p 2 − 1 ) ∗ . . . . ∗ ( p t 1 − 1 ) ϕ(m)=p_{1}^{c_{1}-1}*p_{2}^{c_{2}-1}∗....∗p_{t_{1}}^{c_{t_{1}}-1}(p_{1}-1)(p_{2}-1)∗....∗(p_{t_{1}}-1) ϕ(m)=p1c11p2c21....pt1ct11(p11)(p21)....(pt11)

a i ∗ ϕ ( m ) ≥ a i ∗ p i c i − 1 ∗ ( p i − 1 ) ≥ p i c i − 1 ∗ ( p i − 1 ) ≥ p i c i − 1 a_{i}∗ϕ(m)≥a_{i}*p_{i}^{c_{i}-1}*(p_{i}-1)≥p_{i}^{c_{i}-1}*(p_{i}-1)≥p_{i}^{c_{i}-1} aiϕ(m)aipici1(pi1)pici1(pi1)pici1

证明

\quad \quad \quad \quad \quad \quad p i c i − 1 ≥ c i p_{i}^{c_{i}-1}≥c_{i} pici1ci \quad \quad \quad \quad \quad \quad ( 6 ) (6) (6)

c i = 1 c_{i}=1 ci=1 ,成立

f ( x ) = l n ( x ) x − 1 f(x)=\frac{ln(x)}{x−1} f(x)=x1ln(x) \quad \quad \quad \quad \quad [ 3 , ∞ ] [3,∞] [3,]单调减

又有

\quad \quad \quad \quad \quad f ( 2 ) = l n 2 < 2 ≤ p i f(2)=ln2<2≤p_{i} f(2)=ln2<2pi

\quad \quad \quad \quad \quad f ( 3 ) = l n 3 2 < 2 ≤ p i f(3)=\frac{ln3}{2}<2≤p_{i} f(3)=2ln3<2pi

于是 式子 6 6 6 成立

于是

( A ϕ ( m ) , m ) = p 1 m i n ( a 1 ∗ ϕ ( m ) , c 1 ) ∗ p 2 m i n ( a 2 ∗ ϕ ( m ) , c 2 ) ∗ p t 1 m i n ( a t 1 ∗ ϕ ( m ) , c t 1 ) (A^{ϕ(m)},m)=p_{1}^{min(a_{1}*ϕ(m),c_{1})}*p_{2}^{min(a_{2}*ϕ(m),c_{2)}}*p_{t_{1}}^{min(a_{t_{1}}*ϕ(m),c_{t_{1}})} (Aϕ(m),m)=p1min(a1ϕ(m),c1)p2min(a2ϕ(m),c2)pt1min(at1ϕ(m),ct1)

= p 1 c 1 ∗ p 2 c 2 ∗ . . . . ∗ p t 1 c t 1 =p_{1}^{c_{1}} * p_{2}^{c_{2}}∗....∗p_{t_{1}}^{c_{t_{1}}} =p1c1p2c2....pt1ct1

于是

\quad \quad \quad ( m ( m , A ϕ ( m ) , A ) = q 1 b 1 ∗ q 2 b 2 ∗ . . . ∗ q t 2 b t 2 (\frac{m}{(m,A^{ϕ(m)}},A) =q_{1}^{b_{1}}∗q_{2}^{b_{2}}∗...∗q_{t_{2}}^{b_{t_{2}}} ((m,Aϕ(m)m,A)=q1b1q2b2...qt2bt2

\quad \quad \quad ( m ( m , A ϕ ( m ) , A ) = 1 (\frac{m}{(m,A^{ϕ(m)}},A) = 1 ((m,Aϕ(m)m,A)=1 \quad \quad \quad \quad \quad \quad 4 4 4 得证

\quad \quad m ∣ A ϕ ( m ) ( A ϕ ( m ) − 1 ) m|A^{ϕ(m)}(A^{ϕ(m)}−1) mAϕ(m)(Aϕ(m)1) \quad \quad \quad \quad \quad \quad 3 3 3 得证

\quad A K ≡ A a ∗ ϕ ( m ) + c ≡ A ϕ ( m ) + c ( m o d m ) A^K≡A^{a∗ϕ(m)+c}≡A^{ϕ(m)+c}( mod m)\quad AKAaϕ(m)+cAϕ(m)+c(modm) \quad \quad \quad 2 2 2 得证

\quad \quad A K ≡ A K % ϕ ( m ) + ϕ ( m ) ( m o d m ) A^K≡A^{K\%ϕ(m)+ϕ(m)}( mod m) AKAK%ϕ(m)+ϕ(m)(modm) \quad \quad K > ϕ ( m ) K>ϕ(m) K>ϕ(m) \quad 得证

C o d e : Code: Code:
char b[1000010];
ll a, c;
ll quickpow(ll x, ll y, ll z)
{
    ll ans = 1;
    while (y)
    {
        if (y & 1)
            ans = ans * x % z;
        x = x * x % z;
        y >>= 1;
    }
    return ans;
}
ll phi(ll n)
{
    ll i, rea = n;
    for (i = 2; i * i <= n; i++)
    {
        if (n % i == 0)
        {
            rea = rea - rea / i;
            while (n % i == 0)
                n /= i;
        }
    }
    if (n > 1)
        rea = rea - rea / n;
    return rea;
}
int main()
{
    cin >> a >> b >> c;
    ll len = strlen(b);
    ll p = phi(c);
    ll ans = 0;
    for (ll i = 0; i < len; i++)
    {
        ans = (ans * 10 + b[i] - '0') % p;
    }
    ans += p;
    cout << quickpow(a, ans, c) << endl;
    return 0;
}
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值