题库 C++/C语言题库 题目列表 3.1 编程题 1试题名称:Recamán时间限制:1.0 s内存限...
问答题

3.1 编程题 1

试题名称:Recamán

时间限制:1.0 s

内存限制:512.0 MB

3.1.1 题目描述

小杨最近发现了有趣的Recamán数列,这个数列是这样生成的:

数列的第一项a11

如果ak-1-k是正整数并且没有在数列中出现过,那么数列的第kakak-1-k,否则为ak-1+k

小杨想知道Recamán数列的前n项从小到大排序后的结果。手动计算非常困难,小杨希望你能帮他解决这个问题。

3.1.2 输入格式

第一行,一个正整数n

3.1.3 输出格式

一行,n个空格分隔的整数,表示Recamán数列的前n项从小到大排序后的结果。

3.1.4 样例

3.1.5 输入样例 1

3.1.6 输出样例 1

3.1.7 输入样例 2

3.1.8 输出样例 2

3.1.9 样例解释

对于样例1,n=5:

▪a1=1;

a1-2=-1,不是正整数,因此a2=a1+2=3

a2-3=0,不是正整数,因此a3=a2+3=6

a3-4=2,是正整数,且没有在数列中出现过,因此a4=2

a4-5=-3,不是正整数,因此a5=a4+5=7

a1,a2,a3,a4,a5从小到大排序后的结果为 1 2 3 6 7

3.1.10 数据范围

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

题目信息
2024年 四级 编程题
-
正确率
0
评论
44
点击