Tìm cặp số bạn bè nhỏ nhất

Hai số X,Y được gọi cặp số bạn bè nếu X bằng tổng các ước số thực sự của Y (không tính Y) và Y bằng tổng các ước số thực sự của X (không tính X)

Ví dụ: Nếu X = 220, Y = 284 thì X và Y là cặp số bạn bè

Vì ta có:

  • Các ước số thực sự của X là: 1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110
  • Các ước số thực sự của Y là: 1, 2, 4, 71,142
  • 1 + 2 + 4 + 5 + 10 + 11 + 20 + 22 + 44 + 55 + 110 = 284 = Y
  • 1 + 2 + 4 + 71 + 142 = 220 = X

Yêu cầu: Cho trước số nguyên dương S, hãy tìm cặp số bạn bè X,Y bé nhất thỏa điều kiện X>= S và Y >=S

Dữ liệu vào: 01 Số nguyên S (6 <= S <= 18,000).

Kết quả xuất: 02 số X,Y cách nhau bằng 1 khoảng trắng.


Mong mọi người giúp đỡ ạ,em cảm ơn.
ý tưởng của em là viết 1 hàm tính tổng ước sau đó cho chạy 2 vong for khi nào tìm được thỏa mãn yêu cầu thì in ra. Nhưng em viết code thì lại k được

Chỉ tới 18k thì sàng 25k slot :smiley:

1 Like

có ai ra chưa ạ? em nộp 28 lần rồi mà chưa qua, chỉ sai 1 test duy nhất,
thêm lúc thì time limit lúc thì wrong answer

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?