java辗转相除法求最大公约数
时间: 2023-12-19 13:31:51 浏览: 36
Java中可以使用辗转相除法来求两个数的最大公约,具体实现如下:
```java
public static int gcd(int a, int b) {
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}
```
其中,a和b是要求最大公约数的两个数,如果b等于0,则a就是最大公约数;否则,递归调用gcd函数,将b和a%b作为参数传入。
例如,求48和60的最大公约数,可以这样调用:
```java
int result = gcd(48, 60);
System.out.println(result); // 输出12
```
相关问题
辗转相除法求最大公约数用java语言
好的,以下是使用Java语言实现辗转相除法求最大公约数的代码:
```java
public static int gcd(int a, int b) {
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}
```
java辗转相除法求最小公倍数
辗转相除法(欧几里德算法)可以用来求两个数的最大公约数,而最小公倍数可以通过最大公约数和两个数的乘积来计算。下面是使用Java实现辗转相除法求最小公倍数的示例代码:
```java
public class Main {
// 求最大公约数
public static int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
// 求最小公倍数
public static int lcm(int a, int b) {
return Math.abs(a * b) / gcd(a, b);
}
public static void main(String[] args) {
int a = 12;
int b = 18;
int result = lcm(a, b);
System.out.println("最小公倍数为:" + result); // 输出:36
}
}
```
这段代码定义了两个方法,`gcd`用于求最大公约数,`lcm`用于求最小公倍数。在`main`方法中,我们定义了两个整数`a`和`b`,然后调用`lcm`方法计算最小公倍数,并将结果打印出来。