Recaman's Sequence

Xem dạng PDF

Gửi bài giải


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

Nguồn bài:
Pre Shanghai 2004
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Dãy Recaman được định nghĩa như sau: ~a_0 = 0~; với ~m > 0~, ~a_{m} = a_{m-1}~ − ~m~ nếu ~a_{m}~ là dương và chưa xuất hiện trong dãy, ngược lại ~a_{m} = a_{m-1} + m~. Một số phần tử đầu tiên của dãy là ~0~, ~1~, ~3~, ~6~, ~2~, ~7~, ~13~, ~20~, ~12~, ~21~, ~11~, ~22~, ~10~, ~23~, ~9~ · · ·.

Cho ~k~, tính ~a_k~.

Input

Gồm vài test case, mỗi dòng chứa một số nguyên ~k~. ~(0 \le~ ~k \le~ ~500000)~. Kết thúc là số ~-1~.

Output

In ra ~a_k~ trên ~1~ dòng.

Sample Input

7
10000
-1

Sample Output

20
18658

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.