#include <iostream>
#include <cstdio>
#include <iomanip>
#include <string>
#include <cstdlib>
#include <cstring>
#include <queue>
#include <set>
#include <vector>
#include <map>
#include <algorithm>
#include <cmath>
#include <stack>
#include <stdlib.h>
#include <stdio.h>
#define INF 0x3f3f3f3f
#define LINF 0x3f3f3f3f3f3f3f3f
#define ll long long
#define ull unsigned long long
#define uint unsigned int
#define l(x) x<<1
#define r(x) x<<1|1
#define ms(a,b) memset(a,b,sizeof(a))
#define ms(a,b,c,d) memset(a,b,c*sizeof(d))
using namespace std;
template<typename T>
T gcd(T a, T b) {
return b ? gcd(b, a%b) : a;
}
string str;
int num, k, all, a, b, d,mina, minb, l;
int main() {
while (cin >> str && str != "0") {
mina = minb = INF;
all = l = 0;
for (int i = 2; str[i] != '.'; i++) {
all = all * 10 + str[i] - '0';
l++;
}
num = all;
k = 1;
for (int i = 1; i <= l; i++) {
num /= 10;
k *= 10;
a = all - num;
b = (int)pow(10.0, l - i)*(k - 1);
d = gcd(a, b);
if (b / d < minb) {
mina = a / d;
minb = b / d;
}
}
cout << mina << '/' << minb << endl;
}
return 0;
}
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交