输入两个正整数m和n,计算它们的最大公约数和最小公倍数并输出
时间: 2024-10-18 07:05:26 浏览: 45
要计算两个正整数 `m` 和 `n` 的最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM),我们可以使用欧几里得算法来找到 GCD,然后根据公式 `LCM(a, b) = |a * b| / GCD(a, b)` 来计算 LCM。
以下是一个简单的 Java 方法来实现这个功能:
```java
public class Main {
public static void main(String[] args) {
int m = 60; // 用户输入的第一个正整数
int n = 48; // 用户输入的第二个正整数
gcdAndLcm(m, n);
}
// 欧几里得算法计算 GCD
private static int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
// 计算并输出 GCD 和 LCM
private static void gcdAndLcm(int m, int n) {
int gcdValue = gcd(m, n);
int lcmValue = (m * n) / gcdValue;
System.out.println("最大公约数(GCD): " + gcdValue);
System.out.println("最小公倍数(LCM): " + lcmValue);
}
}
```
在这个代码片段中,我们首先定义了一个 `gcd` 函数,该函数递归地调用自己,直到找到两个数的最大公约数。然后,在 `gcdAndLcm` 函数中,我们计算了 LCM 并将其打印出来。
如果你想要让用户输入这两个数字,你可以添加 Scanner 类来读取用户的输入:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入第一个正整数: ");
int m = scanner.nextInt();
System.out.print("请输入第二个正整数: ");
int n = scanner.nextInt();
scanner.close();
gcdAndLcm(m, n);
}
...
}
```
现在,程序会提示用户输入两个正整数,然后计算并输出他们的 GCD 和 LCM。
阅读全文