TÌM CẶP SỐ

Với hai số nguyên dương ~a~ và ~b~, ta định nghĩa ~f(a,b)=lcm(a,b)-gcd⁡(a,b)~; trong đó ~lcm(a,b)~ là bội chung nhỏ nhất của hai số ~a,b~ và ~gcd⁡(a,b)~ là ước chung lớn nhất của hai số ~a,b~.

Yêu cầu: Cho số nguyên dương ~n~, hãy tìm giá trị lớn nhất của ~f(a,b)~ sao cho ~a+b=n~?

Dữ liệu vào:

  • Số nguyên dương ~n~ ~(2≤n≤10^9)~.

Kết quả:

  • Ghi một số nguyên dương cho biết kết quả của bài toán.

Ràng buộc

  • Có 40% số test tương ứng với 40% số điểm có ~2≤n≤2000~;
  • Có 30% số test khác tương ứng với 30% số điểm có ~2≤n≤2×10^5~;
  • Có 30% số test còn lại tương ứng với 30% số điểm không ràng buộc gì thêm.

Ví dụ:

Input 1

6 

Output 1

4 

Input 2

10 

Output 2

20 

Giải thích ví dụ:

  • Ví dụ 1: ~f(a,b)=4~ có giá trị lớn nhất khi ~a=1,b=5~ (hoặc ~a=5,b=1~), khi đó ~lcm(1,5)=5~ và ~gcd⁡(1,5)=1~
  • Ví dụ 2: ~f(a,b)=20~ có giá trị lớn nhất khi ~a=3,b=7~ (hoặc ~a=7,b=3~), khi đó ~lcm(3,7)=21~ và ~gcd⁡(3,7)=1~

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

hpcode.edu.vn
Code tích cực
Trong 24h
  1. sythai (10/13)
  2. tribinh (8/10)
  3. hungeazy08 (7/15)
Trong 7 ngày
  1. ducdung192 (32/44)
  2. caubeioi (28/39)
  3. manhooh (24/66)
Trong 30 ngày
  1. caubeioi (114/176)
  2. manhooh (83/202)
  3. bestsoilvam (64/155)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38420

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