```cpp
#include <iostream>
#define int long long
using namespace std;
#define FOR(i,j,n,k) for(int i=(j);i<=(n);i+=k)
#define ROR(i,j,n,k) for(int i=(j);i>=(n);i-=k)
int a,b,mod;
int solve(int x,int y){
if(y==0) return 1;
if(y==1) return x%mod;
int f=solve(x,y/2);
if(y%2==1) return f*f%mod*x%mod;
else return f*f%mod;
}
signed main(){
ios::sync_with_stdio(0);
cin.tie(),cout.tie();
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
cin>>a>>b>>mod;
cout<<a<<'^'<<b<<" mod "<<mod<<"="<<solve(a,b);
return 0;
}
```
@[yaodiguoan](/user/1023793)
by Humour_Fz @ 2024-01-05 20:26:08
@[XZH114514](/user/1056908) 请问是哪里有误?
by danlao @ 2024-01-05 20:27:13
@[yaodiguoan](/user/1023793) 没开long long
by Humour_Fz @ 2024-01-05 20:27:45
@[yaodiguoan](/user/1023793) `f*f` 会爆
by Humour_Fz @ 2024-01-05 20:28:03
@[XZH114514](/user/1056908) 谢谢!!!
by danlao @ 2024-01-05 20:30:22
@[yaodiguoan](/user/1023793) 过了,谢谢!
by danlao @ 2024-01-05 20:32:00