Java实现:求任意两数的最大公约数和最小公倍数
Java实现:求任意两数的最大公约数和最小公倍数
想要用Java计算两个整数的最大公约数和最小公倍数吗?本文将为您提供基于辗转相除法(欧几里德算法)的Java代码示例,并给出详细解释,帮助您轻松理解和应用。
import java.util.Scanner;
public class GCDAndLCM {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print('请输入第一个数: ');
int num1 = scanner.nextInt();
System.out.print('请输入第二个数: ');
int num2 = scanner.nextInt();
int gcd = calculateGCD(num1, num2);
int lcm = calculateLCM(num1, num2);
System.out.println('最大公约数: ' + gcd);
System.out.println('最小公倍数: ' + lcm);
}
// 计算最大公约数 (GCD)
public static int calculateGCD(int num1, int num2) {
while (num2 != 0) {
int temp = num2;
num2 = num1 % num2;
num1 = temp;
}
return num1;
}
// 计算最小公倍数 (LCM)
public static int calculateLCM(int num1, int num2) {
return (num1 * num2) / calculateGCD(num1, num2);
}
}
代码解释:
-
calculateGCD(int num1, int num2)函数:- 使用辗转相除法计算最大公约数。
- 循环执行以下操作,直到
num2等于 0:- 将
num2的值赋给临时变量temp。 - 将
num1对num2取余的结果赋给num2。 - 将
temp的值赋给num1。
- 将
- 最后返回
num1,即为最大公约数。
-
calculateLCM(int num1, int num2)函数:- 利用公式
LCM(a, b) = (a * b) / GCD(a, b)计算最小公倍数。 - 首先调用
calculateGCD()函数计算num1和num2的最大公约数。 - 然后将
num1和num2的乘积除以最大公约数,得到最小公倍数。
- 利用公式
-
main()函数:- 从用户处获取两个整数输入。
- 调用
calculateGCD()和calculateLCM()函数计算最大公约数和最小公倍数。 - 将结果打印输出到控制台。
现在您可以复制这段代码,并自己运行试试看!希望这篇文章能帮助您理解如何使用Java计算最大公约数和最小公倍数。
原文地址: https://www.cveoy.top/t/topic/biXn 著作权归作者所有。请勿转载和采集!