我已经看到这样的功能存在BigInteger
, i.e. BigInteger#gcd http://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html#gcd%28java.math.BigInteger%29。 Java 中是否还有其他函数也适用于其他类型(int
, long
or Integer
)?这似乎是有道理的java.lang.Math.gcd
(有各种重载)但它不存在。是在别的地方吗?
(请不要将此问题与“我如何自己实现这个”混淆!)
据我所知,没有任何内置的基元方法。但像这样简单的事情应该可以解决问题:
public int gcd(int a, int b) {
if (b==0) return a;
return gcd(b,a%b);
}
如果你喜欢这类事情,你也可以用一行代码:
public int gcd(int a, int b) { return b==0 ? a : gcd(b, a%b); }
需要注意的是,绝对有no两者之间的区别,因为它们编译为相同的字节码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)