java 求两个正整数的最大公约数与最小公倍数之和
时间: 2024-09-26 08:18:00 浏览: 41
在Java中,计算两个正整数a和b的最大公约数(Greatest Common Divisor,简称GCD)通常可以使用欧几里得算法(Euclidean Algorithm),而最小公倍数(Least Common Multiple,简称LCM)可以通过这两个数的乘积除以它们的GCD得到。以下是求解步骤:
1. **求最大公约数 (GCD)**:
```java
int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
```
2. **求最小公倍数 (LCM)**:
```java
int lcm(int a, int b) {
return (a * b) / gcd(a, b);
}
```
3. **计算最大公约数与最小公倍数之和**:
```java
public int sumOfGCDandLCM(int a, int b) {
int gcdValue = gcd(a, b);
int lcmValue = lcm(a, b);
return gcdValue + lcmValue;
}
```
例如,如果你想计算9和15的最大公约数和最小公倍数之和,你可以这样调用这个函数:
```java
int result = sumOfGCDandLCM(9, 15);
System.out.println("The sum of GCD and LCM is: " + result);
```
阅读全文