用java编程:声明求最大公约数的递归方法,写出求两个整数a、b的最小公倍数、三个整数最大公约数的调用语句。
时间: 2024-09-25 13:05:02 浏览: 25
Python基于递归和非递归算法求两个数最大公约数、最小公倍数示例
在Java中,你可以创建一个递归函数来计算两个整数的最大公约数(GCD),然后利用这个函数来找到最小公倍数(LCM)。首先,我们需要一个名为gcd的递归方法来求最大公约数:
```java
public class GCDRecursion {
public static int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
}
```
接下来,我们可以基于最大公约数计算最小公倍数,公式是 `LCM(a, b) = |a * b| / GCD(a, b)`。对于三个数的GCD,可以先计算前两个数,然后再用结果去求第三个数的GCD。
```java
public class Main {
public static void main(String[] args) {
// 求a和b的最小公倍数
int a = 15, b = 20;
int lcm = a * b / GCDRecursion.gcd(a, b);
System.out.println("LCM of " + a + " and " + b + " is: " + lcm);
// 假设c是一个整数
int c = 10;
// 计算三个数a、b、c的最大公约数
int g = GCDRecursion.gcd(GCDRecursion.gcd(a, b), c);
System.out.println("GCD of " + a + ", " + b + ", and " + c + " is: " + g);
}
}
```
阅读全文