快速幂(取模)

发现写快速幂还是那么慢,不熟练,还是写个博客吧。

直接上代码:

ll quickpow(ll x, ll y, ll mod){//看情况可以没有mod,在外面
	ll res = 1;//储存结果
	while(y){//y移位移完了就退出
		if(y & 1) res = (res * x) % mod;//如果当前位是1
		y >>= 1;//好,下一位
		x = (x * x) % mod;//基数x不断加倍
	}
	return res;
}

其实还是挺简单的,就是不熟练,多写。

猜你喜欢

转载自blog.csdn.net/swunhj/article/details/79915457