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<int> (res);//以int类型返回最终结果
}//可能得到负数,最后结果加上模再取一下模
蒙哥马利算法(快速幂模)
最新推荐文章于 2023-12-05 11:08:46 发布