Least Common Multiple Ⅰ
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
求n个数的最小公倍数。
输入
输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。
输出
为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。
示例输入
2 4 6
3 2 5 7
示例输出
12
70
两个数最大共倍数 = (两个数的积)/ (最大公约数);
代码:
#include <bits/stdc++.h>
using namespace std;
int GCD(int a,int b)
{
if(a < b) {int t = a; a = b; b = t;}
if(a % b == 0) return b;
else return GCD(b,a%b);
}
int LCM(int a,int b)
{
return a / GCD(a,b) * b;
}
int main()
{
std::ios::sync_with_stdio(false);
int n,a;
while(cin>>n)
{
int last = 1;
for(int i=0;i<n;i++)
{
cin>>a;
last = LCM(a,last);
}
cout<<last<<endl;
}
return 0;
}