热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HDU2028:扩展最小公倍数问题

本题要求计算一组正整数的最小公倍数(LCM)。输入包括多组测试数据,每组数据首先给出一个正整数n,随后是n个正整数。

问题描述


给定一组正整数,计算这些数的最小公倍数(Least Common Multiple, LCM)。

输入


输入包含若干组测试数据。每组数据的第一行是一个正整数n (1 ≤ n ≤ 100),表示接下来有n个正整数需要处理。这n个正整数在下一行给出,每个数都在1到10000之间。

输出


对于每组测试数据,输出其最小公倍数。每个结果单独占一行。题目保证所有测试数据的最小公倍数不会超过32位整数的最大值。

样例输入

2 4 6
3 2 5 7

样例输出

12
70

下面是一个使用C++实现的解决方案:

#include 
#include
using namespace std;

typedef long long ll;

// 计算最大公约数(GCD)
ll gcd(ll a, ll b) {
return b == 0 ? a : gcd(b, a % b);
}

// 主函数
int main() {
int n;
while (cin >> n) {
ll lcm = 1;
for (int i = 0; i ll num;
cin >> num;
lcm = lcm / gcd(lcm, num) * num; // 更新LCM
}
cout < }
return 0;
}

推荐阅读
author-avatar
指间流年
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有