[HSG_TG_24] Chính phương

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, Python

Số chính phương là số có thể viết dưới dạng bình phương của một số tự nhiên.

Ví dụ: ~1, 4, 49~ là các số chính phương còn ~2, 5, 20~ không phải là số chính phương.

Hôm nay, thầy giáo cho Minh bài toán sau:

Cho số tự nhiên ~n~, sau đó phân tích ~n = k_1 + k_2 + k_3 + k_4 + \ldots~ Trong đó, các giá trị ~k_1, k_2, k_3, k_4, \ldots~ được tìm theo quy tắc:

  • Tìm số chính phương ~k_1~ lớn nhất không vượt quá ~n~.
  • Tiếp theo, thực hiện tương tự bước trên với ~n = n - k_1~ để tìm ~k_2~.
  • Để tìm ~k_3, k_4, \ldots~ thực hiện tương tự như trên cho đến khi ~n = 0~.

Yêu cầu

Hãy tính giá trị của ~S = (k_1)^1 + (k_2)^2 + (k_3)^3 + (k_4)^4 + \ldots~

Theo em, giá trị của ~S~ là bao nhiêu?

Dữ liệu vào

Gồm một số nguyên dương ~n~ ~(1 \le n \le 10^{14})~.

Kết quả

Gồm một số nguyên duy nhất là giá trị ~S~ tìm được.

Ràng buộc dữ liệu

  • Có 60% test có ~1 \le n \le 10^6~.
  • Có 40% test có ~10^6 < n \le 10^{14}~.

Ví dụ

Ví dụ 1
INPUT
30
OUTPUT
42

Giải thích: Với ~n = 30~, ta có ~n = 25 + 4 + 1~ nên ~S = 25^1 + 4^2 + 1^3 = 42~.

Ví dụ 2
INPUT
25
OUTPUT
25

Giải thích: Với ~n = 25~, nên ~S = 25^1 = 25~.


Bình luận

Hãy đọc nội quy trước khi bình luận.


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