利用Java 编写一个方法,分别求两个数的最大公约数和最小公倍数
时间: 2024-05-05 21:16:05 浏览: 51
java代码-两个数之间的最大公约数和最小公倍数
以下是Java代码实现:
```java
public class MathUtils {
// 求两个数的最大公约数
public static int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
// 求两个数的最小公倍数
public static int lcm(int a, int b) {
return a * b / gcd(a, b);
}
}
```
解释:
- `gcd` 方法使用递归实现,若 `b` 等于 0,则返回 `a`,否则返回 `b` 和 `a` 对 `b` 取模的结果的最大公约数。
- `lcm` 方法直接通过公式 `a * b / gcd(a, b)` 计算最小公倍数。
示例:
```java
int a = 12;
int b = 18;
int gcd = MathUtils.gcd(a, b);
int lcm = MathUtils.lcm(a, b);
System.out.println("最大公约数:" + gcd); // 输出:最大公约数:6
System.out.println("最小公倍数:" + lcm); // 输出:最小公倍数:36
```
阅读全文