模板 - 数论
快速幂
递归
long long quick_pow(long long x,long long y,long long p)
{
long long tmp=quick_pow(x,y>>1,p);
tmp=tmp*tmp%p;
if(y&1) return tmp*x%p;
else return tmp;
}
迭代
long long quick_pow(long long x,long long y,long long p)
{
long long res=1;
while(y)
{
if(y&1) res=res*x%p;
x=x*x%p;
y>>=1;
}
return res;
}
本文采用 「CC-BY-NC 4.0」 创作共享协议,转载请注明作者及出处,禁止商业使用。
作者:Jerrycyx,原文链接:https://www.cnblogs.com/jerrycyx/p/18444888