HDU 2028 Lowest Common Multiple Plus(求n个数的最小公倍数)

题目地址:点击打开链接

思路:原来不用判断大小也可以用辗转相除法,如果小数在前,大数在后,执行第一次gcd时,会把他们的顺序倒过来,还有就是用long long

AC代码:

#include <iostream>

using namespace std;

long long gcd(long long a,long long b)
{
    if(b == 0)
        return a;
    return gcd(b,a%b);
}

int main()
{
    int n,i;
    long long a,b;
    while(cin>>n)
    {
        a = 1;
        for(i=0; i<n; i++)
        {
            cin>>b;
            a = a * b / gcd(b,a);
        }
        cout<<a<<endl;
    }
    return 0;
}


你可能感兴趣的:(HDU 2028 Lowest Common Multiple Plus(求n个数的最小公倍数))