Dừng ở lính canh
Xem dạng PDF📖 Bài giảng & lời giải: đây là Bài tập 2 trong bài giảng Chuyên đề nhập môn 7: File và nhập xuất nhanh trên blog Lập trình thuật toán – có lý thuyết, mô phỏng từng bước, gợi ý và code C++ / Python.
⚠️ Lưu ý: hãy đảm bảo em đã thật sự cố gắng tự làm bài trước, rồi mới xem gợi ý và lời giải nhé!
🎓 Khóa học Lập trình Thuật toán thi đấu của thầy Nguyễn Việt Nam Sơn – 111 buổi video, kèm cặp cá nhân, luyện thi chuyên Tin · HSG Tin học · Tin học trẻ · đội tuyển quốc gia · Olympic/ICPC. 👉 Xem chi tiết khóa học · Thành tích học viên
📞 Đăng ký học: Zalo 0767 666 702 · Facebook Nguyễn Việt Nam Sơn · 🌐 laptrinhthuattoan.blogspot.com
📂 Lưu ý về đọc/ghi file: trên blog, bài này dùng để luyện đọc dữ liệu từ file và ghi kết quả ra file (kiểu
BAI1.INP/BAI1.OUTnhư trong kỳ thi HSG). Trên ClueOJ, chương trình của em phải đọc dữ liệu từ bàn phím (stdin) và in kết quả ra màn hình (stdout), không cần mở file nào. Em có thể dùng mẹo trong bài giảng: chỉ gọifreopenkhi mở được file, ví dụif(fopen("BAI1.INP", "r")){ freopen("BAI1.INP", "r", stdin); freopen("BAI1.OUT", "w", stdout); }, để cùng một bài nộp chạy được cả ở phòng thi lẫn trên ClueOJ.
Dữ liệu vào gồm nhiều cặp số nguyên dương $a$, $b$ (thường mỗi cặp nằm trên một dòng; các số được ngăn cách bởi dấu cách hoặc dấu xuống dòng). Dữ liệu kết thúc bởi cặp lính canh 0 0 – em không xử lý cặp này. Sau cặp 0 0 có thể vẫn còn dữ liệu khác, em phải bỏ qua toàn bộ phần đó.
Với mỗi cặp $a$, $b$ đứng trước cặp 0 0, hãy in ra ước chung lớn nhất của $a$ và $b$.
Dữ liệu vào
- Trước cặp
0 0có ít nhất $1$ và không quá $10^5$ cặp, mỗi cặp gồm hai số nguyên $a$, $b$ ($1 \le a, b \le 10^{18}$). - Tiếp theo là cặp
0 0. - Sau đó có thể còn một số dòng chứa các số nguyên không âm, cần bỏ qua.
Kết quả
Với mỗi cặp (theo đúng thứ tự), in ƯCLN của $a$ và $b$ trên một dòng.
Sample Input
12 18
7 5
100 75
0 0
9 3
Sample Output
6
1
25
Bình luận