PKU 3970-Party

問題概要

N個の数値の最小公倍数を求めよ.ただし1000000以上だったら指示された文字列を出力せよ

解法

実装するだけ

実装(Java)

import java.util.*;
import java.math.*;
import java.io.*;
import java.util.regex.*;
import static java.lang.Math.*;
import static java.util.Arrays.*;
import static java.lang.System.*;

public class Main {
	Scanner input;
	long gcd(long a,long b){
		return b==0?a:gcd(b,a%b);
	}
	long lcm(long a,long b){return a/gcd(a,b)*b;}
	void run(){
		input=new Scanner(System.in);
		while(true){
			int N=input.nextInt();
			if(N==0)break;
			long l=1;
			for(int i=0;i<N;i++){
				l=lcm(l,input.nextInt());
			}
			if(l>=1000000){
				printf("Too much money to pay!\n");
			}else{
				printf("The CEO must bring %d pounds.\n",l);
			}
		}
	}

	void printf(String format,Object... args){
		System.out.printf(format, args);
	}

	public static void main(String[] args) {
		new Main().run();
	}

}