输入两个整数,求其最大公约数和最小公倍数定义法
时间: 2024-09-14 11:11:05 浏览: 47
Java求两个正整数的最大公约数和最小公倍数
5星 · 资源好评率100%
要计算两个整数的最大公约数(GCD)和最小公倍数(LCM),我们可以使用辗转相除法来找到最大公约数,然后利用最大公约数来计算最小公倍数。以下是Java代码实现:
```java
public class GCDAndLCM {
public static void main(String[] args) {
int a = 48;
int b = 18;
int gcd = gcd(a, b);
int lcm = lcm(a, b, gcd);
System.out.println("最大公约数(GCD)为: " + gcd);
System.out.println("最小公倍数(LCM)为: " + lcm);
}
public static int gcd(int a, int b) {
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. `gcd` 方法使用辗转相除法(也称为欧几里得算法)来计算最大公约数。当第二个参数`b`变为0时,第一个参数`a`就是最大公约数。
2. `lcm` 方法利用最大公约数来计算最小公倍数。最小公倍数等于两个数的乘积除以它们的最大公约数。
阅读全文