使用java编写一个程序,求两个数的最大公约数和最小公倍数
时间: 2024-11-27 07:20:20 浏览: 1
求两个数的最大公约数和最小公倍数
在Java中,你可以使用欧几里得算法(Euclidean algorithm)来计算两个整数的最大公约数(Greatest Common Divisor, GCD),然后利用这个GCD和其中一个数来计算最小公倍数(Least Common Multiple, LCM)。以下是简单的步骤和代码示例:
```java
public class Main {
// 欧几里得算法计算最大公约数
public static int gcd(int num1, int num2) {
if (num2 == 0)
return num1;
else
return gcd(num2, num1 % num2);
}
// 计算最小公倍数
public static int lcm(int num1, int num2) {
int lcm = num1 * num2 / gcd(num1, num2); // 根据公式 lcm(a,b) = |a*b| / gcd(a,b)
return lcm;
}
public static void main(String[] args) {
int num1 = 48, num2 = 18; // 测试的两个数
System.out.println("最大公约数 (GCD): " + gcd(num1, num2));
System.out.println("最小公倍数 (LCM): " + lcm(num1, num2));
}
}
```
在这个程序中,`gcd()` 函数递归地计算两个数的最大公约数,而 `lcm()` 函数则直接使用 GCD 的计算结果来得到最小公倍数。
阅读全文