快速幂


点击查看递归
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%2==1)
		{
			t=t*a%n;
			a=a*a%n;
			b/=2;
		}
		return t;
	}
}