最终时刻
2015-07-04 17:38
183 查看
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);
}
}
Description
外太空又发生战争了.机器人王国决定用N架炮台消灭敌人的供需库,但是无奈每架炮台的威力有限,现在国王得到一个消息:如果在某一时刻N架炮台同时打到敌人的供需库,那么这个供需库就会爆炸.当然炮台的威力不累计.也就是说如果某一时刻有N-1架炮台的大炮同时打到敌人的供需库,下一时刻只有第N架炮台的大炮打到敌人供需库的话,供需库是不会爆炸的.现在国王想知最早能在什么时候炸掉敌人的供库.每台大炮的发射间隔是一定的.所有炮从0时刻同时开始发射.Input
每组数据两行,第一行输入N,表示炮台的数目,接下来的一行有N个数a_1,a_2...a_n,表示每个炮台的发射间隔,N<=1000.a_i<=2^32Output
每组数据输出一行,表示敌人的供需库最早被炸毁的时间.数据保证最后结果<=2^63-1Sample 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);
}
}
相关文章推荐
- Mysql User表为空
- 计算几何:线段判交模板--ACM
- java web之Filter详解
- Swift开发教程--Swift的基本语法
- gcc 已知的问题及规避方案 https://gcc.gnu.org/bugs/#known
- error C2440: ‘static_cast’ : cannot convert from ‘HRESULT (__thiscall CtestpalView::* )(WPARAM,LPARA
- javascript prototype详解
- android 随着认识的去除率EditText(它配备了防抖效果)
- (转)Sublime Text 2 2.0.2 序列号
- 联系我们如何添加百度地图路线坐标
- 你所不知道的SQL Server数据库启动过程,以及启动不起来的各种问题的分析及解决技巧
- 音乐播放器之myeclipse项目
- Linux NFS 介绍
- Path Sum II
- [转载] C++ 程序员快过来围观:非常实用全面的 C++ 资源
- openjudge 大师兄,师傅被妖怪抓走啦
- 点击listview中的imageview实现拍照然后显示
- linux下google chrome浏览器字体修改
- Leetcode:Container With Most Water
- Maven jenkins +Jmeter自动化测试