您的位置:首页 > 其它

最终时刻

2015-07-04 17:38 183 查看


Description

外太空又发生战争了.机器人王国决定用N架炮台消灭敌人的供需库,但是无奈每架炮台的威力有限,现在国王得到一个消息:如果在某一时刻N架炮台同时打到敌人的供需库,那么这个供需库就会爆炸.当然炮台的威力不累计.也就是说如果某一时刻有N-1架炮台的大炮同时打到敌人的供需库,下一时刻只有第N架炮台的大炮打到敌人供需库的话,供需库是不会爆炸的.现在国王想知最早能在什么时候炸掉敌人的供库.每台大炮的发射间隔是一定的.所有炮从0时刻同时开始发射.

Input

每组数据两行,第一行输入N,表示炮台的数目,接下来的一行有N个数a_1,a_2...a_n,表示每个炮台的发射间隔,N<=1000.a_i<=2^32

Output

每组数据输出一行,表示敌人的供需库最早被炸毁的时间.数据保证最后结果<=2^63-1

Sample Input

2
2 3
3
1 2 3

Sample Output

6
6

HINT

#include<iostream>

using namespace std;

#define LLG long long

LLG gcd(LLG a,LLG b)

{

if(a%b==0)return b;

else return gcd(b,a%b);

}

LLG lcm(LLG a,LLG b)

{

return (a/gcd(a,b))*b;

}

main()

{

int n;

while(~scanf("%d",&n))

{

LLG a,b;

scanf("%lld",&a);

b=a;

for(int i=0;i<n-1;i++)

{

scanf("%lld",&a);

b=lcm(b,a);

}

printf("%lld\n",b);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: