[10067] Tối giản phân số số học
Xem dạng PDF🤔 Mô tả bài toán:
Phân số tối giản là phân số có tử số và mẫu số không thể cùng chia hết cho số nguyên nào khác ngoài 1 và -1. Một ứng dụng học tập Toán học trực tuyến cần hiển thị kết quả phân số ở dạng tối giảng nhất.
Yêu cầu: Viết hàm một int UCLN(int a, int b) để tìm ước chung lớn nhất của hai số nguyên a và b. Viết một thủ tục void toigian(int &tu, int &mau) để thức hiện tối giản phân số có tu và mau thông qua hàm UCLN. Sau đó áp dụng viết chương trình để rút gọn một phân số về dạng tối giản nhất.
💾 Dữ liệu vào:
Cho từ tệp văn bản FRACTION.INP gồm một dòng duy nhất chứa số nguyên a và b (1 ≤ a, b ≤ 109), mỗi số cách nhau bởi một khoảng cách.
💻 Dữ liệu ra:
Ghi ra tệp văn bản FRACTION.OUT gồm một dòng duy nhất chứa hai số nguyên là Tử số và Mẫu số của phân số tối giản nhất, mỗi số cách nhau bởi một khoảng cách.
🔍 Ví dụ:
| FRACTION.INP | FRACTION.OUT |
|---|---|
| 12 18 | 2 3 |
📌 Ràng buộc dữ liệu:
+ Có 50% số test tương ứng với 50% số điểm của bài có 1 ≤ a, b ≤ 106;
+ Có 50% số test tương ứng với 50% số điểm của bài có 106 ≤ a, b ≤ 109.
⚠️ Lưu ý về File I/O:
Bài tập yêu cầu đọc dữ liệu từ tệp tin FRACTION.INP và xuất kết quả ra tệp tin FRACTION.OUT.
Lưu ý: Vui lòng dùng freopen bình thường để đọc ghi (như code mẫu khi chấm Themis).
Mẹo: Bạn hoàn toàn có thể dùng lệnh ios_base::sync_with_stdio(false); cin.tie(NULL); đi kèm với freopen để tăng tốc độ đọc ghi dữ liệu lớn!
Bình luận