用Java语言编写代码:输入两个正整数m和n(2<=m和n<=100000),计算它们的最大公约数和最小公倍数并输出。
时间: 2024-02-17 12:04:37 浏览: 93
好的,以下是Java代码实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int m = scanner.nextInt();
int n = scanner.nextInt();
int gcd = getGcd(m, n);
int lcm = getLcm(m, n, gcd);
System.out.println(gcd + " " + lcm);
}
// 求最大公约数
private static int getGcd(int a, int b) {
if (b == 0) {
return a;
} else {
return getGcd(b, a % b);
}
}
// 求最小公倍数
private static int getLcm(int a, int b, int gcd) {
return a * b / gcd;
}
}
```
代码思路解析:
1. 首先通过 `Scanner` 类从控制台输入两个正整数 `m` 和 `n`,并存储到对应的变量中。
2. 调用 `getGcd` 方法求最大公约数,并将结果存储到 `gcd` 变量中。
3. 调用 `getLcm` 方法求最小公倍数,并将结果存储到 `lcm` 变量中。
4. 最后输出最大公约数和最小公倍数。
阅读全文