Java 输入两个正整数m和n,求其最大公约数和最小公倍数
时间: 2023-11-03 12:30:11 浏览: 81
好的,我来回答你的问题。以下是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 = m * n / gcd;
System.out.println("最大公约数为:" + gcd);
System.out.println("最小公倍数为:" + lcm);
}
// 求最大公约数
public static int getGcd(int m, int n) {
if (n == 0) {
return m;
}
return getGcd(n, m % n);
}
}
```
你可以通过输入两个正整数m和n来运行这段代码,程序会输出最大公约数和最小公倍数的结果。其中,getGcd方法使用辗转相除法求最大公约数,最小公倍数则通过两数乘积除以最大公约数得到。
相关问题
输入两个正整数m和n求其最大公约数和最小公倍数使用java语言的break语句
可以使用辗转相除法求最大公约数,最小公倍数可以通过公式 lcm = m * n / gcd 计算得到。以下是使用Java语言实现的代码:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入两个正整数m和n:");
int m = sc.nextInt();
int n = sc.nextInt();
int gcd = 0;
int lcm = 0;
for (int i = Math.min(m, n); i >= 1; i--) {
if (m % i == 0 && n % i == 0) {
gcd = i;
break;
}
}
lcm = m * n / gcd;
System.out.println("最大公约数为:" + gcd);
System.out.println("最小公倍数为:" + lcm);
}
}
```
在循环中,我们从较小的数开始往下枚举,如果同时满足m和n都能被i整除,则i为最大公约数,直接使用break语句退出循环。最小公倍数可以通过公式lcm = m * n / gcd计算得到。
输入两个正整数m和n求其最大公约数和最小公倍数使用java语言的break语句带注释
当用户输入两个正整数m和n,求最大公约数和最小公倍数
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 创建Scanner对象
Scanner scanner = new Scanner(System.in);
// 提示用户输入两个正整数
System.out.println("请输入两个正整数:");
int m = scanner.nextInt();
int n = scanner.nextInt();
int max = Math.max(m, n);
int min = Math.min(m, n);
int gcd = 0; // 最大公约数
int lcm = 0; // 最小公倍数
// 求最大公约数
for (int i = min; i >= 1; i--) {
if (max % i == 0 && min % i == 0) {
gcd = i;
break; // 找到最大公约数,跳出循环
}
}
// 求最小公倍数
for (int i = max; i <= max * min; i++) {
if (i % max == 0 && i % min == 0) {
lcm = i;
break; // 找到最小公倍数,跳出循环
}
}
// 输出结果
System.out.println(m + "和" + n + "的最大公约数是:" + gcd);
System.out.println(m + "和" + n + "的最小公倍数是:" + lcm);
}
}
```
注释已经加上了,代码中使用了 `break` 语句来跳出循环,提高效率。
阅读全文