zoukankan      html  css  js  c++  java
  • 560 div3 D. Almost All Divisors

     题意:给出一个数所有的因子(除了本身和1) 求该数

    如果信息错误输出-1  (缺也算)

    数学:将这些因子排序  最小乘最大就是该数!!!!

    然后先遍历一遍看看是否有不是因子的

    再遍历一遍查看 因子个数即可

    #include<bits/stdc++.h>
    using namespace std;
    //input by bxd
    #define rep(i,a,b) for(int i=(a);i<=(b);i++)
    #define repp(i,a,b) for(int i=(a);i>=(b);--i)
    #define RI(n) scanf("%d",&(n))
    #define RII(n,m) scanf("%d%d",&n,&m)
    #define RIII(n,m,k) scanf("%d%d%d",&n,&m,&k)
    #define RS(s) scanf("%s",s);
    #define ll long long
    #define pb push_back
    #define REP(i,N)  for(int i=0;i<(N);i++)
    #define CLR(A,v)  memset(A,v,sizeof A)
    //////////////////////////////////
    #define inf 0x3f3f3f3f
    const int N=2e6+5;
    int a[N];
    int main()
    {
        int cas;RI(cas);
        while(cas--)
        {
            int n;RI(n);
            rep(i,1,n)
            RI(a[i]);
            sort(a+1,a+1+n);
            ll x=(ll)a[1]*a[n];
            int ok=1;
            rep(i,1,n)
            if(x%(ll)a[i])ok=0;
            if(!ok){printf("-1
    ");continue;}
            int cnt=0;
    
            for(ll i=2;i<=sqrt(x);i++)
            {
                if(x%i==0)
                {
                    cnt++;
                    if(x/i!=i)cnt++;
                }
            }
            if(cnt==n)
                cout<<x;
            else cout<<-1;
            cout<<endl;
        }
        return 0;
    }
    View Code
  • 相关阅读:
    JS小功能系列9商品筛选
    JS小功能系列8省市联动
    if u
    js属性
    js初识
    弹性盒
    项目合作
    css重置
    关于响应式布局
    自我定位
  • 原文地址:https://www.cnblogs.com/bxd123/p/10869365.html
Copyright © 2011-2022 走看看