输入:
整数n
,其是>=0
或>=1
(f(0)
可选)
输出:
n
以下序列中的第'个数字,或直到第n
'个数字并包括第一个数字的序列。
顺序:
(0),1,-1,-3,0,5,-1,-7,0,9,-1,-11,0,13,-1,-15,0,17,-1,-19,0,21,-1,-23,0,25,-1,-27,0,29,-1,-31,0,33,-1,-35,0,37,-1,-39,0,41,-1,-43,0,45,-1,-47,0,49,-1,-51,0,53,-1,-55,0,57,-1,-59,0,61,-1,-63,0,65,-1,-67,0,69,-1,-71,0,73,-1,-75,0,77,-1,-79,0,81,-1,-83,0,85,-1,-87,0,89,-1,-91,0,93,-1,-95,0,97,-1,-99
这个序列如何建立?
f(n=0) = 0
(可选)
f(n=1) = f(0) + n
或其他f(n=1) = 1
f(n=2) = f(1) - n
f(n=3) = f(2) * n
f(n=4) = f(3) / n
f(n=5) = f(4) + n
。
或使用伪代码:
function f(integer n){
Integer result = 0
Integer i = 1
Loop as long as i is smaller than or equal to n
{
if i modulo-4 is 1:
result = result plus i
if i modulo-4 is 2 instead:
result = result minus i
if i modulo-4 is 3 instead:
result = result multiplied with i
if i modulo-4 is 0 instead:
result = result integer/floor-divided with i
i = i plus 1
}
return result
}
但是,您可能已经注意到,序列中有两种模式:
0, ,-1, ,0, ,-1, ,0, ,-1, ,0, ,-1, ,0, ,-1, ,...
,1, ,-3, ,5, ,-7, ,9, ,-11, ,13, ,-15, ,17, ,-19,...
因此,产生相同顺序的任何其他方法当然也都很好。
挑战规则:
- 0索引输入和1索引输入将产生相同的结果(这就是为什么
f(0)
要包含0索引输入的可选)。 - 允许您输出
n
此序列的'th号。或整个序列向上并包括n
第一个数字。(因此f(5)
可能会导致5
或0,1,-1,-3,0,5
。)- 如果选择输出不超过第
n
'个数字的序列,则输出格式很灵活。可以是列表/数组,逗号/空格/换行符分隔的字符串或打印到STDOUT等。
- 如果选择输出不超过第
- 除法(
/
)是整数/底数除法,四舍五入为0(在某些语言中不是朝负无穷大)。
通用规则:
- 这是代码高尔夫球,因此最短答案以字节为单位。
不要让代码高尔夫球语言阻止您发布使用非代码高尔夫球语言的答案。尝试针对“任何”编程语言提出尽可能简短的答案。 - 标准规则适用于您的答案,因此您可以使用STDIN / STDOUT,具有正确参数的函数/方法和返回类型的完整程序。你的来电。
- 默认漏洞是禁止的。
- 如果可能的话,请添加一个带有测试代码的链接。
- 另外,如有必要,请添加说明。
上面的其他测试用例n=100
:
Input Output
1000 0
100000 0
123 -123
1234 -1
12345 12345
123456 0