转自:点击这里
欧拉降幂公式
\quad \quad A K ≡ A K % ϕ ( m ) + ϕ ( m ) ( m o d m ) A^K≡A^{K\%ϕ(m)+ϕ(m)}( mod m) AK≡AK%ϕ(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) AK≡AK%ϕ(m)+ϕ(m)(modm) \quad \quad K > ϕ ( m ) K>ϕ(m) K>ϕ(m) ( 1 ) \quad(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),易证
- 若 ( 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)+ca≥1,0≤c<ϕ(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) AK≡Aa∗ϕ(m)+c≡Aϕ(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) m∣Aϕ(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))k≡1(mod((m,Aϕ(m)m))
其中 k ≥ 1 k≥1 k≥1
移项即得 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) m∣Aϕ(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=p1a1∗p2a2∗....∗pt1at1∗q1b1∗q2b2∗...∗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=p1c1∗p2c2∗....∗pt1ct1∗q1d1∗q2d2∗...∗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)=p1c1−1∗p2c2−1∗....∗pt1ct1−1(p1−1)(p2−1)∗....∗(pt1−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 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)≥ai∗pici−1∗(pi−1)≥pici−1∗(pi−1)≥pici−1
证明
\quad \quad \quad \quad \quad \quad p i c i − 1 ≥ c i p_{i}^{c_{i}-1}≥c_{i} pici−1≥ci \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)=x−1ln(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<2≤pi
\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<2≤pi
于是 式子 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}}} =p1c1∗p2c2∗....∗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)=q1b1∗q2b2∗...∗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) m∣Aϕ(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 AK≡Aa∗ϕ(m)+c≡Aϕ(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) AK≡AK%ϕ(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;
}