求两个数的最小公倍数和最大公约数 java代码
时间: 2024-09-19 11:18:11 浏览: 44
Java求两个正整数的最大公约数和最小公倍数
5星 · 资源好评率100%
在Java中,我们可以使用欧几里得算法(也称辗转相除法)来计算两个数的最大公约数(GCD),然后利用GCD来找到它们的最小公倍数(LCM)。下面是一个简单的示例代码:
```java
public class MathUtils {
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) {
// 根据公式 LCM(a, b) = |a * b| / GCD(a, b)
int tempGcd = gcd(num1, num2);
return (num1 * num2) / tempGcd;
}
public static void main(String[] args) {
int num1 = 48, num2 = 18;
int gcdValue = gcd(num1, num2);
int lcmValue = lcm(num1, num2);
System.out.println("The GCD of " + num1 + " and " + num2 + " is: " + gcdValue);
System.out.println("The LCM of " + num1 + " and " + num2 + " is: " + lcmValue);
}
}
```
在这个例子中,`gcd()`函数递归地求两数的最大公约数,而`lcm()`函数则是根据最大公约数计算最小公倍数。在`main()`方法中,我们调用这两个函数并打印结果。
阅读全文