牛客五一day4 J.Fraction Comparision

Fraction Comparision

https://ac.nowcoder.com/acm/contest/33552/J

J.Fraction Comparision
一道简单()的数学计算题,最开始机智的我就想到了直接除是不可以的!于是我想到了交叉相乘法,于是wa了一发,于是又仔细想了一下,发现是高精度的问题,1e18*1
e10超了1e27,于是想到了整数和小数分开来判断的方法,即先用x/a,y/b判断整数部分的大小,如果大了或者小了就直接输出,如果相等则接着判断小数,小数也是分数,即余数除以除数,然后使用交叉相乘法即可完成判断
下附代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
    unsigned long long x,y,a,b;
    while(cin>>x>>a>>y>>b)
    {
        if(x/a>y/b)
            cout<<">"<<endl;
        else if(x/a<y/b)
            cout<<"<"<<endl;
        else {
            if((x%a)*b<(y%b)*a)
                cout<<"<"<<endl;
            else if((x%a)*b>(y%b)*a)
                cout<<">"<<endl;
            else cout<<"="<<endl;
        }
    }
     
}


全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务