contest/85/C
#include<bits/stdc++.h>
#define LL long long
using namespace std;
LL quick_pow(LL a,LL b,LL m){
LL ans = 1;
if(b==0)
return 0;
a=a%m;
while(b>0){
if(b&1){
ans=(ans*a)%m;
}
a=(a*a)%m;
b>>=1;
}
return ans;
}
int main(){
LL a,b,c,d, m;
LL ans,res;
cin>>a>>b>>c>>d>>m;
ans=(a%m)*(b%m)%m;
res=c*d;
cout<<quick_pow(ans,res,m);
return 0;
}
取余原理:(a * b) % p = (a % p * b % p) % p
快速幂原理:根据幂的二进制将运算拆分为多个运算,运算次数即为幂的位数。
结合现实,当桌子和碗的乘积为0时,结果应为0,而不是1。

京公网安备 11010502036488号