TÌM CẶP SỐ

Với hai số nguyên dương \(a\)\(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\)\(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 \leq n \leq 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.

Ví dụ:

Ví dụ 1 Ví dụ 2
Input Output Input Output
6 4 10 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\)\(\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\)\(\gcd(3,7) = 1\)

Ràng buộc:

+ Có 40% số test tương ứng với 40% số điểm có \(2 \leq n \leq 2000\);

+ Có 30% số test khác tương ứng với 30% số điểm có \(2 \leq n \leq 2 \times 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.

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

hpcode.edu.vn
Code tích cực
Trong 24h
  1. rianzz (10/17)
  2. bo0n_0708 (9/27)
  3. minh1806 (6/19)
Trong 7 ngày
  1. tienthanh0201 (45/53)
  2. sangdp.clc (44/73)
  3. bo0n_0708 (38/92)
Trong 30 ngày
  1. conmadem (163/205)
  2. bo0n_0708 (139/237)
  3. bao_khanh (112/176)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 39607

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