二分水题,要求在误差范围内给出有理数的π,使分母最小
枚举分母后二分分子即可
/*author: birdstorm*/
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cctype>
#include <cstdlib>
#include <cmath>
#include <vector>
#include <queue>
#include <stack>
#include <map>
#include <complex>
#include <set>
#include <algorithm>
#include <climits>
#include <cfloat>
#define MAXN 1005
//#define N 105
#define inf 1.0e20
//#define eps 1.0e-8
#define MOD 1000000007
#define pb push_back
#define mp make_pair
#define next(i) (i+1)%sz
#define For(i,m,n) for(int i=(m);i<(n);i++)
#define FORIT(i,c) for(__typeof((c).begin())i=(c).begin();i!=(c).end();++i)
#define rep(i,m,n) for(int i=(m);i<=(n);i++)
#define repd(i,m,n) for(int i=(m);i>=(n);i--)
#define LL long long
#define test
using namespace std;
const double eps=1.0e-8;
const double pi=acos(-1.0);
int n, d;
int div(double R)
{
for(d=1; ;d++){
int l=d, r=d*7;
while(l<r){
int mid=l+r>>1;
double tmp=mid*1.0/d-pi;
if(fabs(tmp)<=R) return mid;
if(tmp>0) r=mid;
else l=mid+1;
}
}
}
int main()
{
double r;
while(scanf("%lf",&r),fabs(r)>=eps){
n=div(r);
printf("%d/%d\n",n,d);
}
return 0;
}