题库首页 › GESP等级认证(C++) › 题目 12283

Recamán 题目描述 小杨最近发现了有趣的 Recamán 数列,这个数列是这样生成的: 数列的第一项 a1是 1; 如果 是正整数并且没有在数列中出现过,那么数列的第 k项ak 为 ,否则为 。 小杨想知道 Recamán 数列的前 n项从小到大排序后的结果。手动计算非常困难,小杨希望你能帮他解决这个问题。 输入格式 第一行,一个正整数n 。 输出格式 一行,n 个空格分隔的整数,表示 Recamán 数列的前 n项从小到大排序后的结果。 样例 输入样例 1 输出样例 1 输入样例 2 输出样例 2 样例解释 数据范围 对于所有数据点,保证1≤n≤3000。

Recamán 题目描述 小杨最近发现了有趣的 Recamá 题目配图Recamán 题目描述 小杨最近发现了有趣的 Recamá 题目配图Recamán 题目描述 小杨最近发现了有趣的 Recamá 题目配图Recamán 题目描述 小杨最近发现了有趣的 Recamá 题目配图Recamán 题目描述 小杨最近发现了有趣的 Recamá 题目配图Recamán 题目描述 小杨最近发现了有趣的 Recamá 题目配图Recamán 题目描述 小杨最近发现了有趣的 Recamá 题目配图Recamán 题目描述 小杨最近发现了有趣的 Recamá 题目配图Recamán 题目描述 小杨最近发现了有趣的 Recamá 题目配图

正确答案:Recaman数列:a[1]=1,用集合记已用。对k=2..n:cand=a[-1]-(k-1);若cand>0且未出现过则a.append(cand),否则a.append(a[-1]+(k-1))。最后排序输出。

试卷来源:202412 CCF-GESP编程能力等级认证C++四级真题

本卷相关题目

在线做题 同科目题库