撞头像了啊!
by ShwStone @ 2023-11-25 13:41:45
你这算的是 $a^{2^b} \bmod p$ 吧
by lzm0107 @ 2023-11-25 13:42:06
@[lzm0107](/user/555994) 啊
by qigejiadao2011 @ 2023-11-25 13:44:32
@[qigejiadao2011](/user/1110668) 这是快速幂的板子题啊,你要用快速幂做。
by Hatsunatsu @ 2023-11-25 13:45:13
首先,你那个 d 就没更新。
其次,这玩意也不是快速幂啊。快速幂是 log 级别的。
@[qigejiadao2011](/user/1110668)
by ShwStone @ 2023-11-25 13:45:53
快速幂是这样的
```cpp
#include<cstdio>
#include<iostream>
using namespace std;
int main(){
long long a,b,c,d,e,res=1;
cin>>a>>b>>c;
d=a;
e=b;
while(b){
if(b&1){
res=res*a%c;
}
a=a*a%c;
b>>=1;
}
cout<<d<<"^"<<e<<" "<<"mod"<<" "<<c<<"="<<res;
return 0;
}
```
by lzm0107 @ 2023-11-25 13:47:39
@[lzm0107](/user/555994) 没看懂啊
by qigejiadao2011 @ 2023-11-25 13:49:52
@[qigejiadao2011](/user/1110668) 有时候可以看看题解 里面的讲解满清晰的 小人代码
```cpp
#include <bits/stdc++.h>
using namespace std;
long long a,b,c;
long long q(long long a,long long b)
{
long long ans=1,base=a%c;
while(b>0)
{
if(b&1)
ans=ans*base%c;
base=base*base%c;
b>>=1;
}
return ans;
}
int main()
{
cin>>a>>b>>c;
cout<<a<<"^"<<b<<" mod "<<c<<"="<<q(a,b);
return 0;
}
by linjianju_xi @ 2023-11-25 13:53:36
@[qigejiadao2011](/user/1110668) 题解里讲的挺好
by linjianju_xi @ 2023-11-25 13:56:13
@[qigejiadao2011](/user/1110668) ~~楼主噶啦?~~
by linjianju_xi @ 2023-11-25 13:59:45