#GESP1091. [GESP202412 四级T1] Recamán

[GESP202412 四级T1] Recamán

题目背景

2024 年 12 月 GESP C++ 四级编程第 1 题

题目描述

小杨最近发现了有趣的 Recamán 数列。数列按如下规则生成:

  • 第一项 a1=1a_1=1
  • 对于 k2k \ge 2,如果 ak1ka_{k-1}-k 是正整数且没有在此前的数列项中出现过,则 ak=ak1ka_k=a_{k-1}-k;否则 ak=ak1+ka_k=a_{k-1}+k

给定 nn,请输出 Recamán 数列前 nn 项从小到大排序后的结果。

输入格式

输入一行一个正整数 nn

输出格式

输出一行 nn 个整数,表示 Recamán 数列前 nn 项从小到大排序后的结果,相邻两个整数之间用一个空格分隔。

5
1 2 3 6 7

数据范围与提示

  • 1n30001 \le n\le 3000
  • 样例中前 55 项为 1,3,6,2,71,3,6,2,7,排序后为 1,2,3,6,71,2,3,6,7
  • 原题面样例区域存在排版串行,本题已按题意拆分为正确的输入与输出。

来源

GESP 2024 年 12 月 C++ 四级 T1