ƯỚ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. nakato (8/16)
  2. tribinh (6/9)
  3. sythai (4/6)
Trong 7 ngày
  1. bao_khanh (61/90)
  2. nakato (46/115)
  3. phamnhi (26/104)
Trong 30 ngày
  1. phamnhi (74/259)
  2. kiennhientv (72/163)
  3. npk1605 (68/96)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 39159

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