[10077] Ước chung lớn nhất đệ quy Euclid
Xem dạng PDF🤔 Mô tả bài toán:
Thuật toán Euclid tìm ước chung lớn nhất (UCLN) của hai số A và B có thể cài đặt cực kỳ ngắn gọn bằng đệ quy dựa trên tính chất: UCLN(A, B) = UCLN(B, A % B) nếu B ≠ 0, và bằng A nếu B = 0.
Yêu cầu: Viết hàm đệ quy long long ucln(long long a, long long b) để tìm UCLN của A và B.
💾 Dữ liệu vào:
Cho từ tệp văn bản GCD.INP có dạng:
● Một dòng chứa hai số nguyên dương A và B (1 ≤ A, B ≤ 1018).
💻 Dữ liệu ra:
Ghi ra tệp văn bản GCD.OUT gồm một số nguyên duy nhất là ước chung lớn nhất của A và B.
🔍 Ví dụ:
| GCD.INP | GCD.OUT |
|---|---|
| 48 18 | 6 |
📌 Ràng buộc dữ liệu:
+ Có 100% số test tương ứng với 100% số điểm của bài thỏa mãn các điều kiện ở phần dữ liệu vào.
⚠️ Lưu ý về File I/O:
Bài tập yêu cầu đọc dữ liệu từ tệp tin GCD.INP và xuất kết quả ra tệp tin GCD.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