Guava – LongMath.gcd方法与实例

来源:这里教程网 时间:2026-02-17 21:41:37 作者:

Guava – LongMath.gcd方法与实例

Guava的LongMath类的gcd(long a, long b)方法返回两个参数a和b的最大公除数。

语法:

public static long gcd(long a, long b)

参数: 该方法接受两个参数a和b,这两个参数都是要寻找GCD的长类型.

返回值: 该方法返回最大的正长值,该值除以传递给函数的两个参数.

异常: 如果a是负数或者b是负数,gcd(long a, long b)方法会抛出IllegalArgumentException.

注意: 如果a和b都是0,该方法返回0.

实例1:

// Java code to show implementation of// gcd(long a, long b) method of Guava's// LongMath class  import java.math.RoundingMode;import com.google.common.math.LongMath;  class GFG {      // Driver code    public static void main(String args[])    {        long a1 = 14;        long b1 = 70;          // Using gcd(long a, long b) method        // of Guava's LongMath class        long ans1 = LongMath.gcd(a1, b1);          System.out.println("GCD of " + a1                           + " and " + b1                           + " is " + ans1);          long a2 = 23;        long b2 = 15;          // Using gcd(long a, long b) method        // of Guava's LongMath class        long ans2 = LongMath.gcd(a2, b2);          System.out.println("GCD of " + a2                           + " and " + b2                           + " is " + ans2);    }}

输出:

GCD of 14 and 70 is 14GCD of 23 and 15 is 1

实例 2:

// Java code to show implementation of// gcd(long a, long b) method of Guava's// LongMath class  import java.math.RoundingMode;import com.google.common.math.LongMath;  class GFG {      // Driver code    public static void main(String args[])    {        long a = -5;        long b = 15;          try {            // Using gcd(long a, long b) method            // of Guava's LongMath class            // This should throw "IllegalArgumentException"            // as a < 0            long ans = LongMath.gcd(a, b);        }        catch (Exception e) {            System.out.println(e);        }    }}

输出:

java.lang.IllegalArgumentException: a (-5) must be >= 0

参考:https://google.github.io/guava/releases/20.0/api/docs/com/google/common/math/LongMath.html#gcd-long-long-

相关推荐