fractie

Time limit: 0.04s Memory limit: 2MB Input: fractie.in Output: fractie.out

Gigel a învățat să lucreze cu fracții zecimale neperiodice, periodice simple, respectiv periodice mixte și să transforme o fracție zecimală în fracție ordinară. El știe că există fracții zecimale și fracții ordinare echivalente.
Gigel are de transformat o fracție zecimală în fracție ordinară scriind numitorul fracției în una din următoarele două forme:

  1. o cifră 11 care poate fi urmată sau nu de 00-uri;
  2. una sau mai multe cifre de 99 urmate eventual de 00-uri.

Pot exista mai multe soluții, din care o va alege pe cea cu număr minim de cifre la numitor.

6,2500=62 50010 000=6,25=625100=6,250=6 2501 000\text{6,2500} = \frac{62\ 500}{10\ 000} = \text{6,25} = \frac{\textcolor{red}{\textbf{625}}}{\textcolor{red}{\textbf{100}}} = \text{6,250} = \frac{6\ 250}{1\ 000}
0,37(547)=37 51099 900=0,3(754)=3 7519 990=0,3(754754)=3 754 7519 999 990\text{0,37(547)} = \frac{37\ 510}{99\ 900} = \text{0,3(754)} = \frac{\textcolor{red}{\textbf{3\ 751}}}{\textcolor{red}{\textbf{9\ 990}}} = \text{0,3(754754)} = \frac{3\ 754\ 751}{9\ 999\ 990}

Pentru fiecare din cele două exemple, oricare ar fi fracția zecimală dată, Gigel elev silitor va alege fracția ordinară echivalentă îngroșată.

Cerință

Scrieți un program care citește o fracție zecimală strict pozitivă și afișează numărătorul și numitorul unei fracții ordinare echivalente, având numitorul în una din formele 1 sau 2 și număr minim de cifre.

Date de intrare

Fișierul fractie.in conține pe o singură linie un șir de maxim 8080 de caractere reprezentând fracția zecimală. Caracterele pot fi: cifre, eventual virgula zecimală , și parantezele ( respectiv ).

Date de ieșire

Fișierul fractie.out va conține două linii. Pe prima linie se va scrie numărătorul fracției, pe a doua linie se va scrie numitorul fracției.

Restricții și precizări

  • Partea întreagă a unei fracții zecimale este formată din cel puțin o cifră.
  • Șirul citit poate conține cel mult 7777 cifre și reprezintă o fracție zecimală corectă.
  • Pentru numărător corect se acordă 40%40\% din punctaj, iar pentru numitor corect 60%60\%. Pentru a primi punctaje parțiale, în fișierul de ieșire trebuie să existe 2 numere!

Exemplul 1

fractie.in

0,3(754754)

fractie.out

3751
9990

Explicație

0,3(754754)=0,3(754)=37519990\text{0,3(754754)} = \text{0,3(754)} = \frac{3751}{9990}

Exemplul 2

fractie.in

6,230000

fractie.out

623
100

Explicație

6,230000=6,23=623100\text{6,230000} = \text{6,23} = \frac{623}{100}

Log in or sign up to be able to send submissions!