Java输入两个正整数求他们的公约数和
时间: 2024-03-12 18:46:51 浏览: 22
好的,以下是Java代码实现:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num1 = scanner.nextInt();
int num2 = scanner.nextInt();
int gcd = getGCD(num1, num2);
System.out.println("最大公约数为:" + gcd);
}
// 获取两个数的最大公约数
private static int getGCD(int a, int b) {
if (b == 0) {
return a;
}
return getGCD(b, a % b);
}
}
```
代码中,我们通过 `Scanner` 类获取用户输入的两个正整数,然后调用 `getGCD` 方法获取它们的最大公约数,并输出结果。`getGCD` 方法使用递归实现了求最大公约数的功能。
相关问题
java求两个正整数的最大公约数和最小公倍数
最大公约数是指两个或多个正整数共有约数中最大的一个数,最小公倍数是指两个或多个正整数公有的倍数中最小的一个数。
求两个正整数的最大公约数可以使用辗转相除法,即不断用较小的数去除较大的数,直到两个数相等为止,此时的数即为它们的最大公约数。
求两个正整数的最小公倍数可以先求出它们的最大公约数,然后用两个数的乘积除以最大公约数即可得到最小公倍数。
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 = getGCD(a, b);
System.out.println(gcd);
}
private static int getGCD(int a, int b) {
if (b == 0) {
return a;
}
return getGCD(b, a % b);
}
}
```
首先输入两个正整数,然后调用 `getGCD` 方法求它们的最大公约数,并输出结果。`getGCD` 方法使用递归实现,每次将较大的数对较小的数取模,直到其中一个数为0,此时另一个数就是最大公约数。