杭电Hd 2028 Lowest Common Multiple Plus

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值