辗转相除法
辗转相除法的关键在于恒等式:
gcd(a,b) = gcd(b,a%b) ,他和边界条件gcd(a,0)=a,一起构成了求最大公约数得欧几里得算法:
int gcd( int a, int b)
{
return b == 0?a:gcd(b , a % b);
}
gcd函数的递归层数不会超过4.785*lg(n)+1.6723,
辗转相除法的关键在于恒等式:
gcd(a,b) = gcd(b,a%b) ,他和边界条件gcd(a,0)=a,一起构成了求最大公约数得欧几里得算法:
int gcd( int a, int b)
{
return b == 0?a:gcd(b , a % b);
}
gcd函数的递归层数不会超过4.785*lg(n)+1.6723,