计算Recamán数列前n项并排序输出
题目描述
Recamán 数列生成规则如下:
- 数列第一项 $a_1 = 1$
- 若 $a_{k-1} - k$ 是正整数且未在数列中出现过,则第 $k$ 项 $ak = a{k-1} - k$,否则 $ak = a{k-1} + k$
请你计算 Recamán 数列的前 $n$ 项,从小到大排序后输出结果。
输入格式
第一行一个正整数 $n$。
输出格式
一行,$n$ 个空格分隔的整数,表示排序后的结果。
输入样例1
5
输出样例1
1 2 3 6 7
输入样例2
8
输出样例2
1 2 3 6 7 12 13 20
样例解释
对于样例1,$n=5$:
- $a_1 = 1$
- $a_1 - 2 = -1$ 不是正整数,因此 $a_2 = 1 + 2 = 3$
- $a_2 - 3 = 0$ 不是正整数,因此 $a_3 = 3 + 3 = 6$
- $a_3 - 4 = 2$ 是正整数且未出现过,因此 $a_4 = 2$
- $a_4 -5 = -3$ 不是正整数,因此 $a_5 = 2 +5 =7$
前5项为 $[1,3,6,2,7]$,排序后结果为 1 2 3 6 7。
数据范围
对于所有数据,保证 $1 \le n \le 3000$