ƯỚC CHUNG LỚN NHẤT

Ước chung lớn nhất của 2 số nguyên dương \(x\)\(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\)\(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 \(\mathbf{x\ (x \geq 0)}\) nhỏ nhất sao cho \(\mathbf{UCLN}\left( \mathbf{a + x,\ b + x} \right)\mathbf{= b - a}\).

Dữ liệu vào:

+ Hai số nguyên dương \(a\)\(b\) nằm trên một dòng và cách nhau một kí tự trắng.

Kết quả ra:

+ 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ụ:

Input Output Giải thích
5 9 3 \(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\]

Ràng buộc dữ liệu:

  • \(50\%\) tests ứng với: \(0 < a < b \leq 10^{6}\);

  • \(50\%\) tests ứng với: \(0 < a < b \leq 10^{18}\).

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. vo_tan_dung (26/39)
  2. tranducbaolam02 (5/7)
  3. phuquy2808 (4/7)
Trong 7 ngày
  1. tranducbaolam02 (54/72)
  2. haccolo (38/43)
  3. vo_tan_dung (36/67)
Trong 30 ngày
  1. ndhdang091011 (190/247)
  2. cosu (98/180)
  3. tranducbaolam02 (86/132)
Thống kê
AC/Sub: 120817/226949
Pascal: 18142
C++: 157988
Python: 50747
Lượt xem/tải tests: 42869

Lưu Hải Phong - 2020
[email protected]