Convert to Fraction

Xem dạng PDF

Gửi bài giải


Điểm: 0,67 (OI)
Giới hạn thời gian: 0.38s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Nguồn bài:
Own
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Mọi số hữu tỉ đều có thể biểu diễn dưới dạng phân số hoặc dạng thập phân vô hạn tuần hoàn.

  1. Biểu diễn dạng phân số của một số hữu tỉ là ~\frac{a}{b}~, với ~a, b~ là các số nguyên, ~b~ khác ~0~, và ước chung lớn nhất của ~a~ và ~b~ bằng ~1~ (để đảm bảo phân số tối giản).
  2. Biểu diễn dạng thập phân vô hạn tuần hoàn của một số hữu tỉ là ~x~. ~y(z)~, với ~x, y, z~ là các số nguyên (có thể có số ~0~ ở đầu). Trong biểu diễn này, ~(z)~ thể hiện cho phần tuần hoàn.

Biểu diễn phải đảm bảo trước tiên là ~y~ có ít chữ số nhất có thể, sau đó là ~z~ có ít chữ số nhất có thể. Ví dụ, biểu diễn ~0.12(1212)~ là không hợp lệ; biểu diễn đúng là ~0.(12)~.

Lưu ý rằng biểu diễn có thể không có phần ~y~, và nếu số hữu tỉ có phần thập phân hữu hạn thì ~(z) = (0)~. Ví dụ, ~\frac{1}{3} = 0.(3)~, ~\frac{20}{13} = 1.(538461)~, ~\frac{557}{495} = 1.1(25)~, ~\frac{5}{1} = 5.(0)~, ~\frac{3}{2} = 1.5(0)~ ...

Cho biểu diễn dạng thập phân vô hạn tuần hoàn của một số số hữu tỉ, hãy tìm biểu diễn dạng phân số của chúng.

Input

Dòng đầu ghi ~T~ là số lượng số hữu tỉ cần tính toán. ~T~ dòng tiếp theo, mỗi dòng ghi một số hữu tỉ được biểu diễn dưới dạng thập phân vô hạn tuần hoàn, theo định dạng như mô tả ở ~(2)~.

Output

Gồm ~T~ dòng, mỗi dòng ghi biểu diễn dạng phân số của số hữu tỉ tương ứng, theo định dạng như mô tả ở ~(1)~.

Giới hạn

Trong ~50\%~ số điểm:

  • ~0 \leq x \leq 10^{3}~
  • ~0 \leq y \leq 10^{3}~
  • ~0 \leq z \leq 10^{3}~

Trong ~50\%~ số điểm còn lại:

  • ~0 \leq x \leq 10^{10}~
  • ~0 \leq y \leq 10^{10}~
  • ~0 \leq z \leq 10^{10}~

Sample Input

5
0.(3)
1.(538461)
1.1(25)
5.(0)
1.5(0)

Sample Output

1/3
20/13
557/495
5/1
3/2

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.