//memory time
//270KB 16ms
#include <math.h>
#include <iostream>
using namespace std;
int main()
{
double div,e1,e2,/*r1,r2*/mine;
int rise,fall,num1,num2,i,m=0;
while (cin>>rise>>fall)
{
if(m++)cout<<endl;
div=(double)rise/fall;
for (i=1;i<=fall;i++)
{
num2=(int)ceil(div*(double)i);
num1=(int)floor(div*(double)i); // r1=(double)num1/(double)i; // r2=(double)num2/(double)i;
e1=fabs((double)num1/(double)i-(double)div);
e2=fabs((double)num2/(double)i-(double)div);
if (e1<e2)
{
if (i==1)
{
mine=e1;
cout<<num1<<'/'<<i<<endl;
}
else
{
if (e1<mine)
{
mine=e1;
cout<<num1<<'/'<<i<<endl;
}
}
}
else
{
if (i==1)
{
mine=e2;
cout<<num2<<'/'<<i<<endl;
}
else
{
if (e2<mine)
{
mine=e2;
cout<<num2<<'/'<<i<<endl;
}
}
}
}
}
return 0;
}
POJ 1072
最新推荐文章于 2021-02-23 22:55:58 发布