本题要求两个给定正整数的最大公约数和最小公倍数。 输入格式: 输入在一行中给出两个正整数M和N(≤1000)。 输出格式: 在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。 输入样例: 511 292 输出样例: 73 2044
时间: 2023-10-30 13:19:01 浏览: 66
输入两个正整数m和n求其最大公约数和最小公倍数.pdf
以下是Java代码实现:
```java
import java.util.Scanner;
public class Main {
// 求最大公约数
public static int gcd(int a, int b) {
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int m = scanner.nextInt();
int n = scanner.nextInt();
// 求最大公约数和最小公倍数
int gcd_num = gcd(m, n);
int lcm_num = m * n / gcd_num;
System.out.println(gcd_num + " " + lcm_num);
}
}
```
思路解析:
使用辗转相除法求最大公约数,然后用两数之积除以最大公约数即为最小公倍数。
阅读全文