求n个数的最小公倍数。
输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。
为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。
注:最小公倍数=两数乘积/最大公约数
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[] arr = new int[n];
int val=arr[0]=sc.nextInt();
for (int i = 1; i < n; i++) {
arr[i] = sc.nextInt();
val = number(val, arr[i]);
}
System.out.println(val);
}
}
private static int number(int val, int i) {
if(val<i){
int temp=val;
val=i;
i=temp;
}
int x=val%i;
long num=(long) val*(long) i;
while (x!=0){
val=i;
i=x;
x=val%i;
}
return (int) (num/i);
}
}