杭电Hd 2028 Lowest Common Multiple Plus

来源:互联网 发布:java mvc 编辑:程序博客网 时间:2024/06/05 18:42

又是一个求多个数的最小公倍数题,做法还是老样子,先求最大公约数再求最小公倍数,注意越界问题,数的类型要设成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;
}
}

 

原创粉丝点击