zoukankan      html  css  js  c++  java
  • hdu 1019 Least Common Multiple(最小公倍数)

    题意 : 求n个数的最小公倍数

    思路:

              这题直接枚举是不可能的

              所以想到了一遍输入一边计算 把每次的gcd给除掉 并相乘 得到的就是lcm

              sum=sum*a/(gcd(sum,a));

    #include<stdio.h>
    #include<string.h>
    #include<math.h>
    #include<iostream>
    #include<algorithm>
    #include<queue>
    #include<stack>
    #define mem(a,b) memset(a,b,sizeof(a))
    #define ll __int64
    #define MAXN 1000
    #define INF 0x7ffffff
    #define lson l,m,rt<<1
    #define rson m+1,r,rt<<1|1
    using namespace std;
    ll gcd(ll a,ll b)
    {
        return a%b==0?b:gcd(b,a%b);
    }
    int main()
    {
        int t,n,tn;
        ll a,sum;
        cin>>t;
        while(t--)
        {
            cin>>n;
            tn=n;
            sum=1;
            while(n--)
            {
                //cout<<n<<endl;
                scanf("%I64d",&a);
                if(n==tn-1) {sum=a;continue;}
                sum=sum*a/(gcd(sum,a));
            }
            cout<<sum<<endl;
        }
        return 0;
    }
    

      

  • 相关阅读:
    ARC 080
    CodeForces
    [Lydsy1806月赛] 路径统计
    AGC 022 C
    AGC 022 B
    AGC 020 B
    UVA
    AGC 018 A
    python
    python
  • 原文地址:https://www.cnblogs.com/sola1994/p/3923656.html
Copyright © 2011-2022 走看看