模板 快速幂(递归)

普通(原理自行理解)

int Fast_power(int a,int b)//a:底数,b:指数 
{
	int s=1,base=a;
	while(b!=0)
	{
		if(b&1) s*=base;
		base*=base;
		b>>=1;
	}	
	return s;
}

递归(同上)

int pro(int a,int b)//同上
{
	if(b==1)
		return a;
	else 
	{
		if(b%2==0)
		{
			int x=pro(a,b/2);
			return x*x;
		}
		else
			return pro(a,b/2)*pro(a,b/2+1);
	}
}
posted @ 2020-08-07 11:43  DSHUAIB  阅读(56)  评论(0)    收藏  举报