常用两个算法
1.求两整数的最大公约数:
int mcd(unsigned int a,unsigned int b)
{
if(b==0)
{
return a;
}
return mcd(b,a%b);
}
对上述解法,出现a%b取模运算对于大数来说效率很低,针对这个方法的改进见《编程之美》2.7节最大公约数问题。
2.判断一个整数是否为素数:
bool IsPrime(uint x)
{
for(uint i=2;i<=x/2;i++)
{
if(x%i==0)
{
return false;
}
}
return true;
}