您的位置:首页 > 其它

杭电1019

2015-07-27 19:46 267 查看
上链接:杭电1019

题目大意:

输入一行数,求这些数的最小公倍数

贴代码:

#include <cstdio>
using namespace std;

long long gys(long long a, long long b)
{
if(a>b) { a=a^b;b=a^b;a=a^b; }
long long t;
while(b%a != 0)
{
t = a;
a = b%a;
b = t;
}
return a;
}

int main()
{
int n;
scanf("%d", &n);
while(n--)
{
int m;
scanf("%d", &m);
long long a, b;
scanf("%lld", &a);
m--;
while(m--)
{
scanf("%lld", &b);
a = a*b/gys(a, b);
}
printf("%lld\n", a);
}

return 0;
}


注意事项:
1.求最小公倍数用两数积除以最大公倍数

2.防止数据太大用long long存储
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  杭电