快速幂
别人已经说得很明白了,我就不说了。
转载CXCXCX的快速幂详解
同余快速幂
建议先看搜狗百科了解同余,再看大佬性质大全。
重点记得基础同余和费马小定理。
搜狗百科——同余
转载SeanOcean大佬的同余性质大全
#include<iostream>
using namespace std;
//快速幂
//int quick_power(int a,int b)
//{
// int ans = 1;
// while (b != 0)
// {
// if (b & 1 != 0)
// ans *= a;
// a *= a;
// b >>= 1;//去掉末位
// }
// return ans;
//}
//同余快速幂
int quick_power(int a, int b,int c)
{
int ans = 1;
while (b != 0)
{
if (b & 1 != 0)//if(b&1)
ans = ans*a%c;
a =a*a%c;
b >>= 1;//去掉末位
}
return ans;
}
int main()
{
int m, n,p;
/*cin >> m >> n;*/
cin >> m >> n >> p;
/*cout << quick_power(m, n) << endl;*/
cout << quick_power(m, n,p) << endl;
return 0;
}
欢迎批评指正!