浅谈蒙哥马利算法

蒙哥马利算法

这个算法很巧妙,减少指数相乘
用到公式:( a * b ) % p == ( a % p ) * ( b % p ) % p
我们可以指数相乘的时候直接平方
如果这个数是单数:
	我们直接多乘一个把他化为偶数
如果直接是偶数就好说:
	直接平方
long long  Montgomery(int base,int exp,mod)
{
	long long ans = 1;
	while(exp)
	{
		if(exp&1)
			res = base * res % mod;//先乘了一个,化为偶数
		exp = exp>>1;
		base = base * base % mod ;
	}
	return ans;
}

你可能感兴趣的:(算法,算法,图论)