您的位置:首页 > 其它

HDOJ 2028 Lowest Common Multiple Plus

2016-03-20 16:00 465 查看
Problem Description

求n个数的最小公倍数。

Input

输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。

Output

为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。

Sample Input

2 4 6

3 2 5 7

Sample Output

12

70

我的思路是:公倍数肯定是不小于最大数的,所以先找到一个最大的数,然后再相对于每个数依次乘以从1到这个数之间的数,看能不能被整除,就Ok啦。

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[] a=new int
;
int max=0;
for(int i=0;i<n;i++){
a[i]=sc.nextInt();
if(max<a[i])
max=a[i];
}
for(int i=0;i<n;i++){
max=change(max,a[i]);
}
System.out.println(max);
}
}
public static int change(int m,int n){
for(int i=1;i<=n;i++){
if((m*i)%n==0){
m*=i;
break;
}
}
return m;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: