Bài tập:
Chương trình của bạn được cho một thích hợp , tích cực phần đơn giản trong định dạng <numerator>/<denominator>
.
Đối với đầu vào này, nó phải tìm hai phân số.
- Một phần nhỏ hơn đầu vào.
- Một phần lớn hơn đầu vào.
Cả hai phân số phải có mẫu số thấp hơn đầu vào. Trong tất cả các phân số có thể, chúng nên có mức chênh lệch thấp nhất so với đầu vào.
Đầu ra:
Đầu ra của chương trình của bạn phải là:
- Một phần nhỏ hơn đầu vào, trong định dạng
<numerator>/<denominator>
. - Tiếp theo là một ký tự khoảng trắng (ASCII - mã 32).
- Tiếp theo là một phân số lớn hơn đầu vào, trong định dạng
<numerator>/<denominator>
.
Như sau:
«fraction that is < input» «fraction that is > input»
Quy tắc:
- Tất cả các phân số xuất ra phải ở mức thấp nhất .
- Tất cả các phân số xuất ra phải là phân số thích hợp.
- Nếu không có phân số thích hợp nào có thể được các quy tắc cho phép, bạn phải xuất ra
0
thay vì phân số <đầu vào và1
thay vì phân số> đầu vào. - Bạn có thể chọn xem bạn muốn nhận phân số dưới dạng đối số dòng lệnh (ví dụ
yourprogram.exe 2/5
) hoặc lời nhắc cho đầu vào của người dùng. - Bạn có thể cho rằng chương trình của bạn sẽ không nhận được đầu vào không hợp lệ.
- Mã ngắn nhất (tính bằng byte, bằng bất kỳ ngôn ngữ nào) sẽ thắng.
Bất kỳ đối số dòng lệnh không chuẩn nào (đối số thường không được yêu cầu để chạy tập lệnh) đều được tính vào tổng số ký tự.
Những gì chương trình của bạn không được làm:
- Phụ thuộc vào bất kỳ nguồn lực bên ngoài.
- Phụ thuộc vào việc có một tên tập tin cụ thể.
- Đầu ra bất cứ điều gì khác ngoài đầu ra cần thiết.
- Mất nhiều thời gian để chạy. Nếu chương trình của bạn chạy hơn một phút đối với các phân số có tử số và mẫu số 6 chữ số (ví dụ
179565/987657
) trên máy tính của người dùng gia đình trung bình, điều đó không hợp lệ. - Phân số đầu ra với
0
mẫu số. Bạn không thể chia cho số không. - Phân số đầu ra với
0
tử số. Chương trình của bạn phải xuất ra0
thay vì một phần nhỏ. - Giảm một phần đầu vào. Nếu phân số được đưa ra làm đầu vào có thể rút gọn, bạn phải sử dụng phân số khi được nhập.
- Chương trình của bạn không được viết bằng ngôn ngữ lập trình mà không tồn tại trình biên dịch / trình thông dịch có sẵn công khai trước khi thử thách này được đăng.
Ví dụ:
Đầu vào: 2/5
Đầu ra: 1/3 1/2
Đầu vào: 1/2
Đầu ra: 0 1
Đầu vào: 5/9
Đầu ra: 1/2 4/7
Đầu vào: 1/3
Đầu ra: 0 1/2
Đầu vào: 2/4
Đầu ra: 1/3 2/3
Đầu vào: 179565/987657
Đầu ra: 170496/937775 128779/708320
1/3 1/2
.