哪种方法更好

时间:2014-07-17 06:51:35

标签: algorithm prime-factoring greatest-common-divisor

哪种方法可以更快地找到给定数字的GCD(a,b)?

素数因子化

(或)

以下方法

int gcd(int a, int b)
{
    return (b==0)?a:gcd(b,a%b);
}

1 个答案:

答案 0 :(得分:1)

这取决于您输入的范围以及Prime factorization的实施情况。 由于后者对于大数字没有有效的算法,似乎可以实现GCD以提供更有效的结果。

重点是如何在算法中计算模数 - 假设它被有效实施(不使用除法),这种GCD实现(也称为Euclidean algorithm)应该更有效。