AcWing 89. a^b
原题链接
简单
作者:
千禧
,
2019-12-15 12:42:34
,
所有人可见
,
阅读 656
C++ 代码
#include<iostream>
using namespace std;
int main()
{
int m, k, p;
cin >> m >>k >> p;
int res = 1 % p;
while (k)
{
if (k&1) res = res * 1ll * m % p;
m = m * 1ll * m % p;
k >>= 1;
}
cout<<res<<endl;
}
超时代码
#include<iostream>
using namespace std;
int qmi(int m, int k, int p)
{
int res = 1 % p;
while (k)
{
if (k&1) res = res * 1ll * m % p;
m = m * 1ll * m % p;
k >>= 1;
}
return res;
}
int main()
{
long a,b,c;
cout<<qmi(a,b,c)<<endl;
}