Số may mắn

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1800 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Số may mắn là số được định nghĩa theo quá trình sau:

  • Bắt đầu với số nguyên dương \(x\) và tính tổng bình phương \(y\) các chữ số của \(x\).
  • Sau đó tiếp tục tính tổng bình phương các chữ số của \(y\). Quá trình này lặp đi lặp lại cho đến khi thu được kết quả là \(1\) thì dừng hoặc quá trình sẽ kéo dài vô tận.
  • Số mà quá trình tính này kết thúc bằng \(1\) gọi là số may mắn.

Những số may mắn đầu tiên là \(1, 7, 10, 13, 19, 23, 28, 31, 32, 44, \ldots\)

Cho số nguyên \(k\). Hãy tìm số may mắn thứ \(k\).

Input

  • Chứa duy nhất số nguyên \(k\) \((1 \leq k \leq 10^{18})\).

Output

  • Một số nguyên duy nhất là số may mắn thứ \(k\).

Scoring

  • Subtask \(1\) (\(50\%\) số điểm): \(k \leq 10^6\).
  • Subtask \(2\) (\(50\%\) số điểm): Không có ràng buộc gì thêm.

Example

Test 1

Input
10
Output
44
Note

Số thứ \(10\) trong dãy số may mắn là \(44\).

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.