📅  最后修改于: 2023-12-03 15:10:43.536000             🧑  作者: Mango
在数学中,GCD是最大公约数,HCF是最高公因数。它们都指两个或多个整数的公共因数中最大的一个。在计算机程序中,我们经常需要找到两个数的GCD或HCF。在这里,我们将介绍Java程序如何查找这两个数字的GCD或HCF。
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是两个或多个整数的最高公因数。在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。