又是一个求多个数的最小公倍数题,做法还是老样子,先求最大公约数再求最小公倍数,注意越界问题,数的类型要设成long型。
import java.util.Scanner;
public class Hd2028 {
public static void main(String[] args){
Scanner sc=new Scanner (System.in);
while(sc.hasNext()){
int n=sc.nextInt();
long [] a=new long[n];
for(int i=0;i<n;i++){
a[i]=sc.nextInt();
}
for(int i=0;i<n-1;i++){
long x=yueshu(a[i],a[i+1]);
long x2=(a[i]*a[i+1])/x;
a[i+1]=x2;
}
System.out.println(a[n-1]);
}
}
static long yueshu(long a,long b){
long temp;
if(a<b){
temp=b;
b=a;
a=temp;
}
while(b!=0){
temp=a%b;
a=b;
b=temp;
}
return a;
}
}