2238: Recamán(2024年12月C++四级)
Memory Limit:128 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:26
Solved:10
Description
小杨最近发现了有趣的 Recamán 数列,这个数列是这样生成的:
数列的第一项a1是1;
如果ak-1-k是正整数并且没有在数列中出现过,那么数列的第k项ak为ak-1-k,否则为ak-1+k。
小杨想知道 Recamán 数列的前n项从小到大排序后的结果。手动计算非常困难,小杨希望你能帮他解决这个问题。
Input
第一行,一个正整数n, 1<=n<=3000。
Output
一行,n个空格分隔的整数,表示 Recamán 数列的前 项从小到大排序后的结果。
Sample Input Copy
8
Sample Output Copy
1 2 3 6 7 12 13 20