一般对于 a^b%p 的形式当b很大,大到long long都存不小时,就不能直接快速幂了,必须对b取模,但不是直接让b对p取模,为什么呢?因为是错的。

这个时候我们怎么办呢?

这个时候我们就要用到欧拉降幂了。


上面就是欧拉降幂的公式,一般来说,我们使用第三个即可。

phi 就是欧拉函数。

下面给出求欧拉函数的板子

 ll phi(ll n)
{
     ll i,rea=n;
     for(i=2;i*i<=n;i++)
     {
         if(n%i==0)
         {
             rea=rea-rea/i;
             while(n%i==0)  n/=i;
          }
     }
     if(n>1)     rea=rea-rea/n;
     return rea;
}