J题用double做只对一半改为longlongint就全对

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
 double x,a,y,b;
 while(cin>>x>>a>>y>>b)
 {
  double xa=floor(x/a);
  double yb=floor(y/b);
  if(xa>yb){
   cout<<">\n";
  }
  else if(xa<yb){
   cout<<"<\n";
  }
  else 
  {
   double aa=fmod(x,a)*b,bb=fmod(y,b)*a;
   if(aa>bb) cout<<">\n";
   else if(aa==bb) cout<<"=\n";
   else cout<<"<\n";
  }
   
 } 
 return 0;
}
double都改为long long int就都对了,为什么?

全部评论
浮点误差吧
点赞 回复 分享
发布于 2019-07-19 20:44

相关推荐

01-30 22:03
门头沟学院 Java
用微笑面对困难:我滴妈,【俩月】【实习】【主管】仨debuff吃满了,独立设计开发的项目写了绝大占比的运营板块,你独立开发,那维护、问题复盘、日志更新、bug、策划书全是自己整的? 不建议写那么大,可以从小出发更容易
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务