ACM1019_最大公倍数

/*问题说明
一组正整数的最小公倍数(LCM)是最小的正整数约数集合中的所有号码。
例如,5,7和15的最小公倍数是105。

 

输入
输入将包括多个问题的实例。输入的第一行中,将包含一个整数,
表示问题的实例的数目。
每个实例都将包含一个单行的形式M N1 N2 N3 ... 纳米其中m是整数的集合和n1 ... 
纳米是整数。所有整数将是积极的,并躺在一个32位整数的范围内。
 

产量
对于每个问题实例,输出一行包含相应的LCM。所有结果将趴在一个32位整数的范围。
 

采样输入
2
3 5 7 15
5 10296 936 1287 792 1
 

样本输出
105
10296
*/

#include<iostream>
using namespace std;
int gcd(int a,int b)
{
    int r=1;
    while(r>0)
    {
        r=a%b;
        a=b;
        b=r;
    }
    return a;
}

int main()
{
    int n;
    cin>>n;
    while(n--)
    {
        int m;
        cin>>m;
        int ans;
        cin>>ans;
        m--;
        while(m--)
        {
            int r;
            cin>>r;
            int k=gcd(ans,r);
            cout<<k<<"-----------"<<endl;
            ans=r/k*ans;
        }
        cout<<ans<<endl;
    }
    return 0;
}

 

posted @ 2013-07-12 17:14  退之  阅读(256)  评论(0编辑  收藏  举报