不要用递归作快速幂,以下代码会卡 TLE
#include <bits/stdc++.h>
#define int long long
using namespace std;
int a,b,p;
int __pow(int a,int b,int p);
signed main(){
scanf("%lld%lld%lld",&a,&b,&p);
printf("%lld^%lld mod %lld=%lld",a,b,p,__pow(a,b,p));
return 0;
}
int __pow(int a,int b,int p){
if(b==0) return 1;
return ((__pow(a,b/2,p)%p)*(__pow(a,b/2,p)%p)*(b%2==1?a:1))%p;
}
Ciallo~(∠・ω< )⌒☆