求两个数的最大公约数和最小公倍数java
时间: 2023-04-28 19:03:47 浏览: 86
最大公约数可以使用辗转相除法或欧几里得算法来求解,具体步骤如下:
1. 用较大数除以较小数,得到余数
2. 如果余数为,则较小数即为最大公约数
3. 如果余数不为,则用较小数除以余数,得到新的余数
4. 重复步骤2和3,直到余数为,此时较小数即为最大公约数
最小公倍数可以通过最大公约数来求解,具体公式为:
最小公倍数 = 两数之积 / 最大公约数
Java代码实现如下:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入两个正整数:");
int a = scanner.nextInt();
int b = scanner.nextInt();
int gcd = getGcd(a, b);
int lcm = a * b / gcd;
System.out.println("最大公约数为:" + gcd);
System.out.println("最小公倍数为:" + lcm);
}
// 求最大公约数
public static int getGcd(int a, int b) {
if (b == ) {
return a;
} else {
return getGcd(b, a % b);
}
}
}
```