A46124.[GESP202412 四级] Recamán

普及-

GESP

通过率:0%

时间限制:1.00s

内存限制:512MB

题目描述

小杨最近发现了有趣的 Recaman 数列, 这个数列是这样生成的:
⋅\cdot 数列的第一项a1a_{1}是1;
⋅\cdot 如果ak−1−ka_{k-1}-k是正整数并且没有在数列中出现过,那么数列的第k项aka_{k}为ak−1−ka_{k-1}-k,否则为ak−1+ka_{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\cdot a_{1}=1;
⋅a1−2=−1\cdot a_{1}-2=-1,不是正整数,因此a2=a1+2=3a_{2}=a_{1}+2=3;
⋅a2−3=0\cdot a_{2}-3=0,不是正整数,因此a3=a2+3=6a_{3}=a_{2}+3=6;
⋅a3−4=2\cdot a_{3}-4=2,是正整数,没有在数列中出现过,因此a4=2a_{4}=2;
⋅a4−5=−3\cdot a_{4}-5=-3,不是正整数,因此a5=a4+5=7a_{5}=a_{4}+5=7
a1,a2,a3,a4,a5a_{1},a_{2},a_{3},a_{4},a_{5}从小到大排序后的结果为1 2 3 6 7。

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

2024年12月GESP编程题

0/16

输入解题思路,AI测评打分。不知道怎么写?

首页