P2842-LJJ算数【数论,快速幂】
生活随笔
收集整理的這篇文章主要介紹了
P2842-LJJ算数【数论,快速幂】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
正題
題目鏈接:https://www.luogu.org/problemnew/show/P2842
題目大意
求
a#b=aaaa…a(a\#b=a^{a^{a^{a^{…^a}}}}(a#b=aaaa…a(進行冪運算b次)
解題思路
根據費馬小當p為質數時
ap≡a(modp)a^p\equiv a(mod\ p)ap≡a(mod?p)
推導得ab≡ab%(p?1)(modp)a^b\equiv a^{b\%(p-1)}(mod\ p)ab≡ab%(p?1)(mod?p)
所以答案a#b≡aab?1%(p?1)(modp)a\# b\equiv a^{a^{b-1}\%(p-1)}(mod\ p)a#b≡aab?1%(p?1)(mod?p)
codecodecode
#include<cstdio> #include<algorithm> #define ll long long using namespace std; const ll XJQ=1e9+7; ll a,b; ll power(ll a,ll b,ll p) {ll ans=1;a%=p;while(b){if(b&1) ans=ans*a%p;a=a*a%p;b>>=1;}return ans; } int main() {scanf("%lld%lld",&a,&b);ll k=power(a,b-1,XJQ-1);printf("%lld",power(a,k,XJQ)); }總結
以上是生活随笔為你收集整理的P2842-LJJ算数【数论,快速幂】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 欢乐SSL初二组周六赛【2019.5.1
- 下一篇: 在电脑上如何给ppt配音如何用电脑配音