快速幂取模算法采用二分思想和位运算优化进行快速幂
时间复杂度O(logn)
#include<iostream>
using namespace std;
const int N=100000; //取模的值
int qmi(int a,int b)
{
int s=1; //初始化为1
while(b)
{
if(b&1)
s=s*a%N;
a=a*a%N;
b>>=1; //除以二,二分
}
return s;
}
int main()
{
int a,b;
while(cin>>a>>b)
{
cout<<qmi(a,b)<<endl; //输出结果
}
return 0;
}