简单说一下大致的思路 :
对于a^b%mod 而言,利用二分的思想去优化 ,每次把a=a*a%mod b/=2(如果是奇数的话 就把那个奇数单独的取出来 )(实际上就是把两个相同的数化成一个数 然后降次)。比如a^8%mod ,实际的运算只需要3次 。第一次:a=a*a%mod ;第二次,a=(a*a)*(a*a)%mod ...
其实就是一个简单的二分分治~
int fastmi(int x,int y) { int b=1; while(y>0) { if(y%2==1) b=(b*x)%9973; y/=2; x=(x*x)%9973; } return b; }