📅  最后修改于: 2023-12-03 14:49:55.868000             🧑  作者: Mango
欧几里德算法,又称辗转相除法,用于计算两个正整数的最大公约数(GCD)。同时,利用最大公约数也可以求两数的最小公倍数(LCM)。
本文介绍的Java程序,将演示使用欧几里德算法来计算两个数的GCD和LCM。
下面是使用欧几里德算法求两个数的GCD和LCM的Java程序:
public class GCDAndLCM {
public static void main(String[] args) {
int num1 = 24;
int num2 = 60;
int gcd = calculateGCD(num1, num2);
int lcm = calculateLCM(num1, num2, gcd);
System.out.println("GCD of " + num1 + " and " + num2 + " is " + gcd);
System.out.println("LCM of " + num1 + " and " + num2 + " is " + lcm);
}
// 计算GCD
public static int calculateGCD(int num1, int num2) {
if (num2 == 0) {
return num1;
} else {
return calculateGCD(num2, num1 % num2);
}
}
// 计算LCM
public static int calculateLCM(int num1, int num2, int gcd) {
return (num1 / gcd) * num2;
}
}
在上面的代码中,我们有两个方法,一个是calculateGCD
,用于计算两个数的GCD;另一个是calculateLCM
,用于计算两个数的LCM。
目前,我们可先尝试计算24和60的GCD和LCM。执行程序输出:
GCD of 24 and 60 is 12
LCM of 24 and 60 is 120
欧几里德算法是计算GCD和LCM的一种有效方法。与其他相应的算法相比,欧几里德算法使用递归而不是迭代。我们在本文中使用Java编写了一个简单的程序,演示了如何使用欧几里德算法来计算两个数的GCD和LCM。