快快快速幂

快速幂

思路

如果power为偶数则可以将底数直接平方来将power减半从而减少次数

#include<iostream>
using namespace std;
#define ll long long
ll power(ll base,ll power)
{
	ll result=1;
	while(power>0)
	{
		if (power&1)
			result=result*base%1000;
		power>>=1;
		base=(base*base)%1000;
	}
	return result;
}
int main()
{
	ll a,b,c;
	cin>>a>>b;
	c=power(a,b);
	cout<<c<<endl;
	return 0;
}
posted @ 2021-06-02 19:57  新城R  阅读(29)  评论(0)    收藏  举报