5 条题解

  • 2

    别直接抄啊

  • 2
    #include<bits/stdc++.h>
    using namespace std;
    int main(){
        int k,m,n;
        cin>>k>>m;  
        for(int i=1;i<k;i++)
        {  
            cin>>n;  
            int mt=m;  
            int nt=n; 
            int r=mt%nt; 
            while(r!=0)
            {  
                mt=nt;
                nt=r;
                r=mt%nt;
            }
            m=m/nt*n;  
        }
        cout<<m<<endl;  
        return 0;
    }
    
  • 0
  • 0
  • 0
    @ 2021-04-28 21:47:54
    #include<bits/stdc++.h>
    #define ll long long//宏定义
    using namespace std;
    ll gcd(ll a,ll b){//两个数的大公约
        while( 1 ){
            ll r=a%b;
            if(r==0)
                break;
            a=b; b=r;
        }
        return b;
    }
    
    ll lcm(ll a,ll b){return a/gcd(a,b)*b;}//公倍
    ll qscanf(){//快读
        ll x=0,f=1;
        char ch=getchar();
        while((ch<'0'||ch>'9')){
            if(ch=='-') f=-1;
            ch = getchar();
        }
        while((ch>='0'&&ch<='9')){
            x=x*10+ch-'0';
            ch = getchar();
        }
        return x*f;
    }
    int main(){
        ll n;n=qscanf();
        ll a[n];
        a[0]=qscanf();a[1]=qscanf();
        ll x=lcm(a[0],a[1]);
        for(int i=2;i<n;i++){//读进来就判断
            a[i]=qscanf();
            x=lcm(x,a[i]);
        }
        cout<<x;
        return 0;
    } 
    
  • 1

信息

ID
1326
难度
6
分类
(无)
标签
递交数
250
已通过
72
通过率
29%
上传者