Least Common Multiple

来源:互联网 发布:斯德哥尔摩情结 知乎 编辑:程序博客网 时间:2024/05/30 23:47


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;}

0 0
原创粉丝点击