三个代码有什么区别?
查看原帖
三个代码有什么区别?
990749
xhx_0215楼主2024/2/28 20:50

代码1:

#include <iostream>
#include <numeric>
using namespace std;
long long n,c;
int main()
{
    cin>>n>>c;
    if (c%2==1){
        cout<<-1;
        return 0;
    }
    long long ans=c/2;
    long long x;
    for (long long i=2; i<=n; i++){
        long long x;
        cin>>x;
        if (x%2==1){
            cout<<-1;
            return 0;
        }
        long long y=x/2;
        ans=std::__detail::__gcd(ans,y);
    }
    cout<<ans;
    return 0;
}

代码2:

#include <bits/stdc++.h>
using namespace std;
long long n,c;
int main()
{
    cin>>n>>c;
    if (c%2==1){
        cout<<-1;
        return 0;
    }
    long long ans=c/2;
    long long x;
    for (long long i=2; i<=n; i++){
        long long x;
        cin>>x;
        if (x%2==1){
            cout<<-1;
            return 0;
        }
        long long y=x/2;
        ans=__gcd(ans,y);
    }
    cout<<ans;
    return 0;
}

代码3:

#include <iostream>
#include <numeric>
using namespace std;
long long n,c;
int main()
{
    cin>>n>>c;
    if (c%2==1){
        cout<<-1;
        return 0;
    }
    long long ans=c/2;
    long long x;
    for (long long i=2; i<=n; i++){
        long long x;
        cin>>x;
        if (x%2==1){
            cout<<-1;
            return 0;
        }
        long long y=x/2;
        ans__gcd(ans,y);
    }
    cout<<ans;
    return 0;
}

前两个代码AC了,剩下的代码CE了,

报错:'__gcd' was not declared in this scope; did you mean 'std::__detail::__gcd'?

2024/2/28 20:50
加载中...