用java 输入两个整数a和b,输出两个整数的最大公约数和最小公倍数
时间: 2023-05-17 13:07:51 浏览: 59
您好,以下是您所需的Java代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int a = input.nextInt();
int b = input.nextInt();
int gcd = getGCD(a, b);
int lcm = getLCM(a, b, gcd);
System.out.println("最大公约数:" + gcd);
System.out.println("最小公倍数:" + lcm);
}
// 求最大公约数
public static int getGCD(int a, int b) {
if (b == 0) {
return a;
} else {
return getGCD(b, a % b);
}
}
// 求最小公倍数
public static int getLCM(int a, int b, int gcd) {
return a * b / gcd;
}
}
希望对您有所帮助!
相关问题
输入两个正整数a和b,求两个正整数的最大公约数和最小公倍数.Java
可以使用辗转相除法求最大公约数,公式为:
gcd(a,b) = gcd(b,a%b)
而最小公倍数可以通过最大公约数求得,公式为:
lcm(a,b) = a*b/gcd(a,b)
Java代码实现如下:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int b = scanner.nextInt();
int gcd = gcd(a, b);
int lcm = lcm(a, b, gcd);
System.out.println("最大公约数:" + gcd);
System.out.println("最小公倍数:" + lcm);
}
// 求最大公约数
public static int gcd(int a, int b) {
if (a < b) {
int temp = a;
a = b;
b = temp;
}
while (b != 0) {
int temp = a % b;
a = b;
b = temp;
}
return a;
}
// 求最小公倍数
public static int lcm(int a, int b, int gcd) {
return a * b / gcd;
}
}
```
示例输入1:
```
24 36
```
示例输出1:
```
最大公约数:12
最小公倍数:72
```
示例输入2:
```
15 25
```
示例输出2:
```
最大公约数:5
最小公倍数:75
```
Java输入两个正整数m和n,求其最大公约数和最小公倍数
输入两个正整数m和n,可以使用Java语言来求它们的最大公约数和最小公倍数。根据引用,两个整数的最大公约数等于其中较小的那个数和两数的相除余数的最大公约数。而最小公倍数等于两个数的乘积除以它们的最大公约数,根据引用。因此,可以使用一个方法来分别求出最大公约数和最小公倍数。
具体实现方法如下:
```
import java.util.Scanner;
public class GcdLcm {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("请输入第一个正整数:");
int m = scan.nextInt();
System.out.print("请输入第二个正整数:");
int n = scan.nextInt();
int gcd = getGcd(m, n);
int lcm = m * n / gcd;
System.out.println(m + "和" + n + "的最大公约数为:" + gcd);
System.out.println(m + "和" + n + "的最小公倍数为:" + lcm);
}
// 求最大公约数
public static int getGcd(int a, int b) {
if (b == 0) {
return a;
} else {
return getGcd(b, a % b);
}
}
}
```
在这个程序中,首先使用Scanner类获取用户输入的两个正整数m和n。然后,调用getGcd方法求出它们的最大公约数,再根据引用求出最小公倍数。最后,输出结果。