定义
a(1) = 1
a(2) = 2
a(n)
是最小的数字k>a(n-1)
,它避免的任何3项算术级数a(1), a(2), ..., a(n-1), k
。- 换句话说,
a(n)
是的最小数目k>a(n-1)
,使得不存在x
,y
其中0<x<y<n
和a(y)-a(x) = k-a(y)
。
算出例子
对于n=5
:
我们有 a(1), a(2), a(3), a(4) = 1, 2, 4, 5
如果为a(5)=6
,则2, 4, 6
形成算术级数。
如果为a(5)=7
,则1, 4, 7
形成算术级数。
如果为a(5)=8
,则2, 5, 8
形成算术级数。
如果为a(5)=9
,则1, 5, 9
形成算术级数。
如果为a(5)=10
,则找不到算术级数。
因此a(5)=10
。
任务
给定n
,输出a(n)
。
眼镜
n
将是一个正整数。- 您可以使用0索引而不是1索引,在这种情况下
n
可以为0
。如果您使用的是0索引,请在答案中注明。
计分
由于我们试图避免3项算术级数,并且3是一个小数,因此就字节数而言,您的代码应尽可能小(即短)。
测试用例
测试用例是1索引的。您可以使用0索引,但请在答案中进行指定。
1 1
2 2
3 4
4 5
5 10
6 11
7 13
8 14
9 28
10 29
11 31
12 32
13 37
14 38
15 40
16 41
17 82
18 83
19 85
20 86
10000 1679657
参考文献
- Wolfram数学世界
- OEIS A003278
2
有关。(如果我正确理解了您的挑战。)
—
Martin Ender
@MartinEnder您确实正确理解了我的挑战。
—
Leaky Nun