一直觉得这个算法很神奇,昨天用到了,发现效果很好,速度果然很快!
int  Montgomery( int  a,  int  p,  int  m)
{
    
if (p == 0 return   1 ;
    
int  r = a % m;
    
int  k = 1 ;
    
while (p > 1 ){
        
if (p & 1 != 0 ){
            k
= (k * r) % m;
        }
        r
= (r * r) % m;
        p
/= 2 ;
    }
    
return  (r * k) % m;
}