Recamán 数列2024.12GESP4级T1

Recamán 数列2024.12GESP4级T1

测试数据来自 wjszez/2853

题目描述
小杨最近发现了有趣的Recaman数列,这个数列是这样生成的:
●数列的第一项a1是1;
●如果a(k-1)-k是正整数并且没有在数列中出现过,那么数列的第k项ak为a(k-1)-k,否则为a(k-1)+k。
小杨想知道Recaman数列的前n项从小到大排序后的结果。手动计算非常困难,小杨希望你能帮他解决这个问题。
输入格式
第一行,一个正整数n。
输出格式
一行,n个空格分隔的整数,表示Recaman数列的前n项从小到大排序后的结果。
输入样例1
5
输出样例1
1 2 3 6 7
输入样例2
8
输出样例2
1 2 3 6 7 12 13 20

样例解释
对于样例1, n= 5:
●a1=1;
●a1-2=-1,不是正整数,因此a2=a1+2= 3;
●a2-3=0,不是正整数,因此a3=a2+3= 6;
●a3-4=2,是正整数,且没有在数列中出现过,因此a4= 2;
●a5-5=-3,不是正整数,因此a5=a4+5=7;
a1,a2, a3,a4, a5从小到大排序后的结果为1 2 3 6 7。

数据范围
对于所有数据点,保证1≤n≤3000。

信息

ID
1004
难度
(无)
分类
(无)
标签
递交数
0
已通过
0
通过率
?
上传者