快速幂

点击查看递归
int quickpow(int a,int b,int n)
{
	if(b==1)return a;
	if(b%2==0)
	{
		int t=quickpow(a,b/2,n);
		return t*t%n;
	}
	else{
		int t=quickpow(a,b/2,n);
		t=t*t%n;
		t=t*a%n;
		return t;
	}
}
点击查看非递归
int quickpow(int a,int b,int n)
{
	int t=1;
	while(b)
	{
		if(b&1)t=t*a%n;
		a=a*a%n;
		b/=2;
		return t;
	}
}
posted @ 2021-11-27 22:39  fervency  阅读(5)  评论(0编辑  收藏  举报