您的位置:首页 > 其它

Least Common Multiple

2017-01-24 02:51 267 查看

Least Common Multiple

2016年9月27日 19:16
新浪博客
删除

Description

The least common multiple (LCM) of a set of positive integersis the smallest positive integer which is divisible by all thenumbers in the set. For example, the LCM of 5, 7 and 15 is105. 

Input

Input will consist of multiple problem instances. The first line ofthe input will contain a single integer indicating the number ofproblem instances. Each instance will consist of a single line ofthe form m n1 n2 n3 ... nm where m is the number of integers
in theset and n1 ... nm are the integers. All integers will be positiveand lie within the range of a 32-bitinteger. 

Output

For each problem instance, output a single line containing thecorresponding LCM. All results will lie in the range of a 32-bitinteger. 

Sample Input

2

3 5 7 15

6 4 10296 936 1287 792 1

Sample Output

105

10296

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

int gcd(int m,int n)
{
if(n<m)
{
int temp=n;
n=m;
m=temp;
}
int r=n%m;
while(r)
{
n=m;
m=r;
r=n%m;
}
return m;
}

int main()
{
int n,m,t,ans;
scanf("%d",&n);
while(n--)
{
ans=1;
scanf("%d",&m);
while(m--)
{
scanf("%d",&t);
ans=t/gcd(ans,t)*ans;//避免数据溢出,先除后乘
}
printf("%d\n",ans);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  gcd算法