1616:A 的 B 次方
时间限制: 1000 ms 内存限制: 524288 KB
提交数: 43 通过数: 13
【题目描述】
给出三个整数 a,b,ma,b,m,求 abmodmabmodm 的值。
【输入】
一行三个整数 a,b,ma,b,m。
【输出】
一个整数,表示 abmodmabmodm 的值。
【输入样例】
2 100 1007
【输出样例】
169
【提示】
数据范围与提示:
对于全部数据,1≤a,b,m≤1091≤a,b,m≤109 。
include<iostream>
using namespace std;
int ksm(long long a,long long b,long long c)
{
a%=c;
long long ans=1,temp=a;
while(b>0)
{
if(b&1)
ans*=temp;
ans%=c;
temp*=temp;
temp%=c;
b>>=1;
}
return ans;
}
int main()
{
long long a,b,c;
cin>>a>>b>>c;
cout<<ksm(a,b,c)%c;
return 0;
}