运用java解决最大公约数和最小公倍数问题,要求,键盘输入两个正整数m和n,要求最大公约数和最小公倍数
时间: 2024-09-11 16:10:09 浏览: 66
在Java中解决最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM)问题,我们可以使用辗转相除法来计算最大公约数,然后根据最大公约数和两数的乘积来计算最小公倍数。
首先,我们编写一个名为`getGCD`的方法来计算最大公约数:
```java
public static int getGCD(int m, int n) {
while (n != 0) {
int temp = m % n;
m = n;
n = temp;
}
return m;
}
```
然后,我们编写一个名为`getLCM`的方法来计算最小公倍数:
```java
public static int getLCM(int m, int n) {
return (m * n) / getGCD(m, n);
}
```
接下来,我们可以在主方法`main`中接收用户输入,并调用这两个方法:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入正整数m: ");
int m = scanner.nextInt();
System.out.print("请输入正整数n: ");
int n = scanner.nextInt();
scanner.close();
int gcd = getGCD(m, n);
int lcm = getLCM(m, n);
System.out.println("最大公约数是: " + gcd);
System.out.println("最小公倍数是: " + lcm);
}
public static int getGCD(int m, int n) {
while (n != 0) {
int temp = m % n;
m = n;
n = temp;
}
return m;
}
public static int getLCM(int m, int n) {
return (m * n) / getGCD(m, n);
}
}
```
用户运行程序后,可以按照提示输入两个正整数m和n,程序将计算并输出这两个数的最大公约数和最小公倍数。
阅读全文