为什么这个方法80分?
查看原帖
为什么这个方法80分?
554145
Night_sea_64楼主2022/6/19 13:21

这个方法为啥80分?

#include<iostream>
#include<algorithm>
using namespace std;

int main()
{
    int m,n,ansm=1e9,ansn=1;
    bool one=1;
    double r;
    cin >> m >> n >> r;
    for(int i=1;i<=n;i++)
    {
        double j=i*1.0*r;
        if(j>m)break;
        if(j-int(j)<0.5)j=int(j);
        else j=int(j)+1;
        if(abs((j*1.0)/(i*1.0)-r)<abs((ansm*1.0)/(ansn*1.0)-r))one=1,ansm=j,ansn=i;
        if(abs((j*1.0)/(i*1.0)-r)<abs((ansm*1.0)/(ansn*1.0)-r))one=0;
    }
    if(one)cout << ansm << "/" << ansn << endl;
    else cout << "TOO MANY" << endl;
    return 0;
}

这种方法哪里出问题了?求大佬指点

2022/6/19 13:21
加载中...