用java写一段求最小公倍数的代码
时间: 2024-03-20 11:39:47 浏览: 14
可以使用以下代码来求最小公倍数:
```java
public static int lcm(int a, int b) {
return (a * b) / gcd(a, b);
}
public static int gcd(int a, int b) {
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}
```
其中,`lcm` 方法使用 `gcd` 方法来计算最小公倍数。`gcd` 方法使用递归来计算最大公约数。
使用示例:
```java
int a = 12;
int b = 18;
int lcm = lcm(a, b); // 最小公倍数为 36
```
相关问题
用java写一个求最小公倍数程序
可以使用以下代码来实现:
```java
import java.util.Scanner;
public class LCM {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入两个正整数:");
int num1 = input.nextInt();
int num2 = input.nextInt();
int lcm = getLCM(num1, num2);
System.out.println(num1 + "和" + num2 + "的最小公倍数是:" + 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 = getGCD(a, b);
return a * b / gcd;
}
}
```
代码中使用了递归方式来求最大公约数,然后通过公式 `a * b / gcd` 来求最小公倍数。
用Java写一段求多个数字的最小公倍数的代码
可以使用以下代码来求多个数字的最小公倍数:
```java
public static int lcm(int[] numbers) {
int result = numbers[0];
for (int i = 1; i < numbers.length; i++) {
result = lcm(result, numbers[i]);
}
return result;
}
public static int lcm(int a, int b) {
return (a * b) / gcd(a, b);
}
public static int gcd(int a, int b) {
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}
```
其中,`lcm` 方法接收一个整数数组,使用 `lcm` 和 `gcd` 方法来计算最小公倍数。`lcm` 方法内部循环遍历整数数组,依次计算每个整数和前面所有整数的最小公倍数。`gcd` 方法使用递归来计算最大公约数。
使用示例:
```java
int[] numbers = {12, 18, 24, 36};
int lcm = lcm(numbers); // 最小公倍数为 72
```