trang chủ / đề bài / vt_ts10_22_b

Ước chung lớn nhất

Đề bài

Mô tả

Ước chung lớn nhất của 2 số nguyên dương x và y (kí hiệu: UCLN(x,y)) là 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≤1018).

Yêu cầu: Cho biết số nguyên không âm x (x≥0) nhỏ nhất sao cho UCLN(a+x,b+x)=b−a.

Dữ liệu vào

Một dòng duy nhất chứa 2 số nguyên dương a và b (1≤a<b≤1018), cách nhau một kí tự trắng.

Dữ liệu ra

Ghi ra một số nguyên không âm x (x≥0) duy nhất thỏa mãn yêu cầu của bài toán (có thể bằng 0).

Ràng buộc

  • 1≤a<b≤1018.

Subtasks

  • Subtask 1 (50% số điểm): 1≤a<b≤106.
  • Subtask 2 (50% số điểm): 1≤a<b≤1018.

Ví dụ

Input Output Giải thích
5 9 3 x=3 là số nhỏ nhất thỏa mãn: UCLN(5+3,9+3)=UCLN(8,12)=4=9−5.
10 15 0 Ví dụ thêm. x=0 được chấp nhận: UCLN(10,15)=5=15−10.
1 1000000000000000000 999999999999999998 Ví dụ thêm. b−a=1018−1, cần a+x=1018−1.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0