Java求多组数的最大公约数和最小公倍数
时间: 2023-11-17 16:02:43 浏览: 39
以下是Java代码,可以求多组数的最大公约数和最小公倍数:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int n = sc.nextInt();
int[] nums = new int[n];
for (int i = 0; i < n; i++) {
nums[i] = sc.nextInt();
}
int gcd = nums[0];
int lcm = nums[0];
for (int i = 1; i < n; i++) {
gcd = gcd(gcd, nums[i]);
lcm = lcm(lcm, nums[i]);
}
System.out.println(gcd + " " + lcm);
}
}
// 最大公约数
public static int gcd(int a, int b) {
return b == 0 ? a : gcd(b, a % b);
}
// 最小公倍数
public static int lcm(int a, int b) {
return a * b / gcd(a, b);
}
}
```
输入格式为:
```
n1 a1 a2 ... an
n2 a1 a2 ... an
...
```
每组数据的第一个数n表示该组数据有n个数,后面n个数为要求最大公约数和最小公倍数的数。程序会依次输出每组数据的结果。