Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
P157PROB - ROUND 7B - Phân số và số thập phân |
Một hỗn số có thể được biểu diễn lại dưới dạng số thập phân. Trong một số trường hợp các giá trị số thập phân có thể được làm tròn theo một cách nào đó. Ví dụ: số 0.8125 có thể được làm tròn thành 0.81 hoặc 0.812 hoặc 0.813. Nhưng chúng ta đều quy về phân số ban đầu là 13/16 (mẫu số được quy định phải là lũy thừa của 2).
Bài toán đặt ra là cho trước một kết quả biểu diễn ở dạng số thập phân, hãy tìm biểu diễn hỗn số ban đầu phù hợp nhất (với mẫu số ở dạng lũy thừa 2 nhỏ nhất có thể).
Input
Dòng đầu ghi số bộ test (không quá 100).
Mỗi bộ test ghi trên một dòng một số thập phân với tối đa 6 chữ số phần thập phân. Tất cả các dữ liệu vào đều lớn hơn 0.
Output
Với mỗi bộ test, ghi ra trên một dòng kết quả tìm được ở dạng A/B” hoặc C A/B” hoặc C”. Trong đó B là lũy thừa của 2 nhỏ nhất có thể tương ứng với Input của bộ test.
Kết quả phù hợp hoặc là một biểu diễn chính xác, hoặc là gần đúng bằng cách làm tròn theo một trong ba cách: làm tròn lên, làm tròn xuống hoặc làm tròn đến giá trị gần nhất.
Giá trị kết quả không vượt quá 10 và biết rằng luôn tìm được biểu diễn phù hợp cho dữ liệu vào với giá trị B không quá 128.
Example
Input:10
0.81
.8125
0.37
2
2.4
2.99
2.40
1.27
4.
9.242187
Output:13/16"
13/16"
3/8"
2"
2 3/8"
2 63/64"
2 13/32"
1 17/64"
4"
9 31/128"
Được gửi lên bởi: | adm |
Ngày: | 2015-04-12 |
Thời gian chạy: | 1s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | ASM32-GCC ASM32 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA |
hide comments
2015-07-02 15:30:19 TICHPX
Ôi 0.37 phải là 47/128 chứ nhỉ |
|
2015-04-14 07:57:07 Pham Duc
Mình không hiểu sao test 2.99 thì output lại là 2 63/64" 63/64 = 0.984375 đâu làm tròn được 0.99 Output đúng phải là 2 127/128" chứ ??? |