您的位置:首页 > 其它

Lowest Common Multiple Plus

2017-05-05 18:06 369 查看
http://acm.hdu.edu.cn/showproblem.php?pid=2028

主要是求出gcd和lcm,注意一个坑,虽然题意说不超过32位,那么就要定义long long 或者unsigned long

#include <iostream>
#include <cstdio>
using namespace std;

long long gcd(long long a, long long b) { return b == 0 ? a : gcd(b, a%b); }
long long lcm(long long a, long long b) {return a*b / gcd(a, b);}

int main()
{
int n;
long long ans,a;
while (scanf("%d", &n) != EOF) {
long long sum=1;
for (int i = 0;i < n;i++) {
scanf("%lld",&a);
sum=lcm(sum, a);

}
printf("%lld\n",sum);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  gcd