费马小定理
(来源:百度百科):费马小定理(Fermat’s little theorem)是数论中的一个重要定理,在1636年提出。如果p是一个质数,而整数a不是p的倍数(a,p互质),则有 a^(p-1)≡1(mod p)。
由此可以推出快速幂的位运算算法
//快速幂
long long qiuckpower(long long x,long long y)
{
long long ans=1,cnt=x;
while(y)
{
if(y&1)
{
ans*=cnt;
}
cnt*=cnt;
y>>=1;
}
return ans;
}
//快速幂取模
long long qpow(long long a,long long b){
long long ans=1;
a%=p;
while(b){
if(b&1){
ans=ans*a%p;
b--;
}
b>>=1;
a=a*a%p;
}
return ans;
}
欧几里得算法
(来源:百度百科):欧几里德算法