拉宾米勒素数判断

int_type Montgomery(int_type n,int_type p,int_type m)
{ //蒙哥马利法快速计算(n^p)%m的值
int_type k = 1;
n%=m;
while(p!=1)
{
if(0!=(p&1))k=(k*n)%m;
n=(n*n)%m;
p>>=1;
}
return(n*k)%m;
}
bool Miller_rabin(long long n, int timenum = 10) {
if (n < 2)
return false;
if (n == 2)
return true;
while (timenum--) {
if (Pow_Mod(rand() % (n - 2) + 2, n - 1, n) != 1)
return false;
}
return true;
}

 

你可能感兴趣的:(return,false,蒙哥马利)