📜  查找两个数的 GCD 或 HCF 的Java程序(1)

📅  最后修改于: 2023-12-03 15:10:43.536000             🧑  作者: Mango

查找两个数的 GCD 或 HCF 的 Java 程序

在数学中,GCD是最大公约数,HCF是最高公因数。它们都指两个或多个整数的公共因数中最大的一个。在计算机程序中,我们经常需要找到两个数的GCD或HCF。在这里,我们将介绍Java程序如何查找这两个数字的GCD或HCF。

查找两个数的GCD

GCD是两个或多个整数的最大公约数。在Java中,我们可以使用Euclid算法来计算GCD。以下是计算两个数字的GCD的Java程序:

public class GCD {
    public static void main(String[] args) {
        int num1 = 48, num2 = 18;
        int gcd = findGCD(num1, num2);

        System.out.println("GCD of " + num1 + " and " + num2 + " is: " + gcd);
    }

    public static int findGCD(int num1, int num2) {
        while (num2 != 0) {
            int temp = num2;
            num2 = num1 % num2;
            num1 = temp;
        }
        return num1;
    }
}

输出结果:

GCD of 48 and 18 is: 6
查找两个数的HCF

HCF是两个或多个整数的最高公因数。在Java中,我们可以使用相同的Euclid算法来计算HCF。以下是计算两个数字的HCF的Java程序:

public class HCF {
    public static void main(String[] args) {
        int num1 = 48, num2 = 18;
        int hcf = findHCF(num1, num2);

        System.out.println("HCF of " + num1 + " and " + num2 + " is: " + hcf);
    }

    public static int findHCF(int num1, int num2) {
        int gcd = findGCD(num1, num2);
        int hcf = (num1 * num2) / gcd;
        return hcf;
    }

    public static int findGCD(int num1, int num2) {
        while (num2 != 0) {
            int temp = num2;
            num2 = num1 % num2;
            num1 = temp;
        }
        return num1;
    }
}

输出结果:

HCF of 48 and 18 is: 144
总结

使用Euclid算法可以很容易地计算出两个数字的GCD和HCF。我们可以在Java程序中使用类似的方法来计算任意数量的数字的GCD和HCF。