计蒜客 17414 Exponial 指数降幂公式

Posted Flowersea

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计蒜客 17414 Exponial 指数降幂公式相关的知识,希望对你有一定的参考价值。

链接:

https://nanti.jisuanke.com/t/17414

题意:

求f(n) = n ^ f(n-1) % m

题解:

指数降幂公式

代码:

31 ll n, m;
32 
33 ll getphi(ll n) {
34     ll ans = n;
35     for (ll i = 2; i*i <= n; i++) if (n%i == 0) {
36         ans -= ans / i;
37         while (n%i == 0) n /= i;
38     }
39     if (n > 1) ans -= ans / n;
40     return ans;
41 }
42 
43 ll mod_pow(ll x, ll n, ll mod) {
44     int res = 1;
45     while (n) {
46         if (n & 1) res = res * x % mod;
47         x = x * x % mod;
48         n >>= 1;
49     }
50     return res;
51 }
52 
53 ll f(ll n, ll m) {
54     if (m == 1) return 0;
55     if (n < 5) {
56         ll ans = 1;
57         rep(i, 1, n + 1) ans = mod_pow(i, ans, m);
58         return ans;
59     }
60     ll phi = getphi(m);
61     ll z = f(n - 1, phi);
62     ll ans = mod_pow(n, phi + z, m);
63     return ans;
64 }
65 
66 int main() {
67     ios::sync_with_stdio(false), cin.tie(0);
68     cin >> n >> m;
69     cout << f(n, m) << endl;
70     return 0;
71 }

 

以上是关于计蒜客 17414 Exponial 指数降幂公式的主要内容,如果未能解决你的问题,请参考以下文章

[数学][欧拉降幂定理]Exponial

计蒜客 ACM-ICPC 2018 南京赛区网络预赛 A. An Olympian Math Problem-数学公式题

2017西安网络赛 计蒜客 Trig Function 切比雪夫多项式

计蒜客练习题:两仪剑法

计蒜客之斐波那契数列

计蒜客NOIP2017提高组模拟赛day1-展览