蒙哥马利算法(快速幂模)

2019-04-13 12:16发布

int get_mod(int a, int b, int c) { long long res = 1;//声明为long long类型防止数据溢出 while(b > 0) { if( b & 1)//取幂指数二进制最后一位 { res = (res * a) % c; } a = (a * a) % c; b >>=1;//幂指数二进制向右移动一位 } return static_cast (res);//以int类型返回最终结果 }//可能得到负数,最后结果加上模再取一下模