习题:Huge Mods(欧拉定理)
题目 传送门 思路 挺好的一道拓展欧拉定理的板子题 我们已知 \(a^b\%m=a^{b\%\varphi(m)+\varphi(m)}\%m\) 当然此时 \(b>=\varphi(m)\) 也就是说,我们可以从上至下的一层一层的算, 但是每一层的模数是不一样的 具体来说第i层的模数是 \(\varphi\varphi... m\) ,i-1个 \(\varphi\) \(a^{b^c}\%m=a^{b^{c\%\varphi(\varphi(m))+\varphi(\varphi(m))}\%\varphi(m)+\varphi(m)}\%m\) 代码 #include<iostream> #include<cstdio> using namespace std; int tot; long long mod; long long n; long long a[15]; long long ex_oular(long long x,long long mod) { if(x>=mod) return x=x%mod+mod; else return x; } long long qkpow(long long a,long long b,long long mod) { if(b==0) return 1; if(b==1) return a; long long t