Ước chung lớn nhất
Xem dạng PDFƯớc chung lớn nhất
File chương trình: UCLN.*
Ước chung lớn nhất của 2 số nguyên dương ~x~ và ~y~ (kí hiệu: ~UCLN(x, y)~) là một số nguyên dương ~z (z > 0)~ lớn nhất sao cho cả ~x~ và ~y~ đều chia hết cho ~z~.
Cho hai số nguyên dương ~a, b (1 < a < b \leq 10^{18})~.
Yêu cầu: Cho biết số nguyên dương ~x (x \geq 0)~ nhỏ nhất sao cho ~UCLN(a + x, b + x) = b - a~.
Input
Từ file UCLN.INP chứa 2 số nguyên dương ~a~ và ~b~ nằm trên một dòng và cách nhau một kí tự trắng.
Output
Ghi ra file UCLN.OUT duy nhất một số nguyên dương ~x (x \geq 0)~ thỏa mãn yêu cầu của bài toán.
Ví dụ
Sample Input
5 9
Sample Output
3
Giới hạn
- 50% tests ứng với: ~0 < a < b \leq 10^6~;
- 50% tests ứng với: ~0 < a < b \leq 10^{18}~.
Giải thích
~x = 3~ là số nguyên dương nhỏ nhất tìm được thỏa mãn yêu cầu bài toán. Cụ thể: ~UCLN(a + 3, b + 3) = UCLN(5 + 3, 9 + 3) = UCLN(8, 12) = 4 = b - a = 9 - 5~.
Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Bình luận