1 条题解

  • -4
    @ 2023-7-22 11:05:10

    先写伪代码:

    ans=0
    for i=[0,n-1)
        for j=[i+1,n)
            if (gcd(a_i,a_j)==1)
                ans+1
    

    正式代码:

    #include<iostream>
    using namespace std;
    int gcd(int a,int b){
        if (b) return gcd(b,a%b);
        return a;
    }
    int main(){
        freopen("frac.in","r",stdin);
        freopen("frac.out","w",stdout);
        int n;
        cin>>n;
        int a[n+10];
        int cnt=0;
        for (int i=0;i<n;i++) cin>>a[i];
        for (int i=0;i<n-1;i++){
            for (int j=i+1;j<n;j++){
                if (gcd(a[i],a[j])==1){
                    cnt++;
                }
            }
        }
        cout<<cnt;
        return 0;
    }
    
    • 1

    信息

    ID
    448
    时间
    1000ms
    内存
    256MiB
    难度
    4
    标签
    (无)
    递交数
    51
    已通过
    25
    上传者