[10077] Ước chung lớn nhất đệ quy Euclid

Xem dạng PDF

Gửi bài giải

Điểm: 10,00
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép

🤔 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

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.