1. 程式人生 > >HDU 2028 Lowest Common Multiple Plus

HDU 2028 Lowest Common Multiple Plus

out esc 測試 ons ref esp long long bsp left

http://acm.hdu.edu.cn/showproblem.php?pid=2028

Problem Description 求n個數的最小公倍數。

Input 輸入包含多個測試實例,每個測試實例的開始是一個正整數n,然後是n個正整數。

Output 為每組測試數據輸出它們的最小公倍數,每個測試實例的輸出占一行。你可以假設最後的輸出是一個32位的整數。

Sample Input 2 4 6 3 2 5 7

Sample Output 12 70 代碼:
#include <bits/stdc++.h>

using namespace std;

const int maxn=1e5+10;
int a[maxn];

long long int gcd(long long int a,long long int b)
{
    long long int c = a%b;
    while(c)
    {
        a = b;
        b = c;
        c = a % b;
    }
    return b;
}

int main()
{
    int n;
    while(~scanf("%d",&n))
    {
        long long int asd=1;
        for(int i=1; i<=n; i++)
        {
            scanf("%d",&a[i]);
            asd=asd*a[i]/gcd(asd,a[i]);
        }
        printf("%lld\n",asd);
    }
    return 0;
}

  

HDU 2028 Lowest Common Multiple Plus