hdu2028 Lowest Common Multiple Plus

来源:互联网 发布:centos官方网站 编辑:程序博客网 时间:2024/04/30 15:44

Lowest Common Multiple Plus

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 47472    Accepted Submission(s): 19668


Problem Description
求n个数的最小公倍数。
 

Input
输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。
 

Output
为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。
 

Sample Input
2 4 63 2 5 7
 

Sample Output
1270
 

Author
lcy
 


水题,注意计算gcd里面不要爆了,两个先乘一块可能会炸。


#include<iostream>#include<cstdio>#include<string>#include<sstream>#include<cstdlib>#include<cstring>#include<cctype>#include<algorithm>#include<stack>#include<queue>#include<map>#include<set>#include<vector>#include<deque>#include<cmath>#include<climits>#include<list>#include<utility>#include<memory>#include<cstddef>#include<iterator>using namespace std;typedef long long LL;const double pi = acos(-1.0);///////////////////////////////int gcd(int a, int b) {if (b == 0) return a;return gcd(b, a%b);}///////////////////////////////int main(int argc, char**argv) {//freopen("input.txt", "r", stdin);//freopen("output.txt", "w", stdout);////////////////////////////int n;int input1, input2;int ans;while (cin >> n) {n--;cin >> input1;while (n--) {cin >> input2;ans = input1 / (gcd(input1, input2))*input2;input1 = ans;}cout << ans << "\n";}//////////////////////////////system("pause");return 0;}


1 0