我正在查看Java BigInteger gcd方法源代码。我发现在类的任何地方都没有定义hybridGCD()方法。
这是链接: http://hg.openjdk.java.net/jdk/jdk11/file/tip/src/java.base/share/classes/java/math/BigInteger.java
public BigInteger gcd(BigInteger val) {
if (val.signum == 0)
return this.abs();
else if (this.signum == 0)
return val.abs();
MutableBigInteger a = new MutableBigInteger(this);
MutableBigInteger b = new MutableBigInteger(val);
MutableBigInteger result = a.hybridGCD(b);
return result.toBigInteger(1);
}
对于两个相当大的数字(每个数字包含一百万个数字),gcd方法没有响应一个小时。
答案 0 :(得分:2)
此处定义了该方法(因为它是MutableBigInteger的一部分):