1 条题解

  • 0
    @ 2025-4-14 18:41:37

    C++ :

    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    
    long long gcd(long long a,long long b)
    {
        if(b==0)
            return a;
        else
            return gcd(b,a%b);
    }
    
    int main()
    {
        //freopen( "B.txt", "r", stdin );
        //  freopen( "_B.txt", "w", stdout );
        long long  a,b;
        while(cin>>a>>b)
        {
            long long g=gcd(a,b);
            a=a/g;
            b=b/g;
    //        cout<<a<<" "<<b<<endl;
            long long ans=a+b;
            long long sum=ans;
    //        cout<<ans<<endl;
            bool flag=0;
            for(; ;)
            {
                if(ans&1)
                {
                    if(ans==1)
                    {
                        flag=1;
                    }
                    break;
                }
                ans/=2;
            }
            if(flag==0)
            {
                cout<<-1<<endl;
            }
            else
            {
                long long co=0;
                while(sum)
                {
                    co++;
                    sum/=2;
                }
                cout<<co-1<<endl;
            }
        }
        return 0;
    }
    
    • 1

    信息

    ID
    3072
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者