让我们定义指针序列是这样的任何序列A(N)= A((N-1) - (A(N-1)))的forall Ñ比一些有限数量。例如,如果我们的序列以
3 2 1
我们的下一项将是2
,因为a(n-1)= 1,(n-1)-1 = 1,a(1)= 2(此示例为零索引,但是使用计算将使用哪个索引并不重要总是一样。)。如果我们重复这个过程,我们将得到无限序列
3 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2
任务
给定一些初始的正整数数组,输出从该数组开始的指针序列。
输出类型
输出是灵活的,如果您选择将函数编写为程序可以返回,则可以返回无限的整数列表或对序列进行索引的函数。如果您选择编写完整的程序,则可以无限期地输出序列的项。
您也可以选择采用两个输入,即起始数组和索引。如果选择这样做,则只需要在该索引处输出序列项。
您将永远不会得到需要在序列开始之前进行索引的序列。例如,3
这不是有效的输入,因为您可能需要先输入术语才能3
解析下一个术语。
这是代码高尔夫球,因此您的分数将是程序中的字节数,分数越低越好。
测试用例
为了简单起见,测试用例被截断
2 1 -> 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 ...
2 3 1 -> 2 3 1 3 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 ...
3 3 1 -> 3 3 1 3 3 3 1 3 3 3 1 3 3 3 1 3 3 3 1 3 3 3 1 3 3 3 1 3 ...
4 3 1 -> 4 3 1 3 4 4 3 3 4 4 4 3 4 4 4 4 3 4 4 4 4 3 4 4 4 4 3 4 ...