题意:将小数化成分数。
题解:找规律。
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <set>
#include <string>
#include <map>
#include <cstring>
#include <math.h>
#include <stdlib.h>
#include <time.h>
#define ll long long
#define INF 0x3f3f3f3f
using namespace std;
int main(){
string line;
while(cin>>line){
if(line=="0"){
break;
}
int mina = INF;
int minb = INF;
int all = 0,l = 0;
for(int i = 2 ; line[i] != '.';i++){
all *= 10;
all+=line[i]-'0';
l++;
}
int num = all,k = 1,a,b;
for(int i = 1 ; i <= l ; i++){
num/=10;
k*=10;
a = all-num;
b = pow(10,l-i)*(k-1);
int j = __gcd(a,b);
if(b/j<minb){
mina = a/j;
minb = b/j;
}
}
cout<<mina<<"/"<<minb<<endl;
}
}