原题:https://www.luogu.com.cn/problem/UVA374
题目中的要求翻译成人话就是给出求.
快速幂就可以.
快速幂:
#include<iostream>
using namespace std;
long long mul(long long a,long long n,long long p){//a^n mod p
if(n==0)return 1%p;//a^0=1
if(n==1)return a%p;//a^1=a
long long tmp=mul(a,n/2,p);//sqrt(a^n)
if(n%2==1)return (tmp*tmp)%p*(a)%p;
else return (tmp*tmp)%p;
}
int main()
{
long long b,m,p;
cin >> b >> m >> p;
cout << mul(b,m,p) << endl;
return 0;
}
#include<iostream>
using namespace std;
long long mul(long long a,long long n,long long p){
if(n==0)return 1%p;
if(n==1)return a%p;
long long tmp=mul(a,n/2,p);
if(n%2==1)return (tmp*tmp)%p*(a)%p;
else return (tmp*tmp)%p;
}
int main()
{
long long B,P,M;
while(cin >> B >> P >> M)
{
cout << mul(B,P,M) << endl;
}
return 0;
}