我们都知道我假设的这三个基本的算术数学表。
ADDITION:
+ | 1 2 3 4 5 6 7 8 9 10
----------------------------------
1 | 2 3 4 5 6 7 8 9 10 11
2 | 3 4 5 6 7 8 9 10 11 12
3 | 4 5 6 7 8 9 10 11 12 13
4 | 5 6 7 8 9 10 11 12 13 14
5 | 6 7 8 9 10 11 12 13 14 15
6 | 7 8 9 10 11 12 13 14 15 16
7 | 8 9 10 11 12 13 14 15 16 17
8 | 9 10 11 12 13 14 15 16 17 18
9 | 10 11 12 13 14 15 16 17 18 19
10 | 11 12 13 14 15 16 17 18 19 20
SUBTRACTION:
- | 1 2 3 4 5 6 7 8 9 10
---------------------------------
1 | 0 1 2 3 4 5 6 7 8 9
2 | -1 0 1 2 3 4 5 6 7 8
3 | -2 -1 0 1 2 3 4 5 6 7
4 | -3 -2 -1 0 1 2 3 4 5 6
5 | -4 -3 -2 -1 0 1 2 3 4 5
6 | -5 -4 -3 -2 -1 0 1 2 3 4
7 | -6 -5 -4 -3 -2 -1 0 1 2 3
8 | -7 -6 -5 -4 -3 -2 -1 0 1 2
9 | -8 -7 -6 -5 -4 -3 -2 -1 0 1
10 | -9 -8 -7 -6 -5 -4 -3 -2 -1 0
MULTIPLICATION:
* | 1 2 3 4 5 6 7 8 9 10
----------------------------------
1 | 1 2 3 4 5 6 7 8 9 10
2 | 2 4 6 8 10 12 14 16 18 20
3 | 3 6 9 12 15 18 21 24 27 30
4 | 4 8 12 16 20 24 28 32 36 40
5 | 5 10 15 20 25 30 35 40 45 50
6 | 6 12 18 24 30 36 42 48 54 60
7 | 7 14 21 28 35 42 49 56 63 70
8 | 8 16 24 32 40 48 56 64 72 80
9 | 9 18 27 36 45 54 63 72 81 90
10 | 10 20 30 40 50 60 70 80 90 100
For the sake of this challenge, division is excluded.
对于0索引序列和1索引序列,我们将遵循相同的步骤。因此,结果序列将成为f(0)+g(1)
,f(1)+g(2)
等。
f
(0索引)和g
(1索引)都从(1,1)
的加法表中开始。所以f(0) = 1+1 = 2
和g(1) = 1+1 = 2
。n
是奇数,则执行n
步骤,如果n
是偶数,则n
向右移动。所以f(1) = 1-2 = -1
(它向下,因为n=1
是奇数);g(2) = 3-1 = 2
(它向右,因为n=2
是偶数)。f(2) = 3*2 = 6
和g(3) = 3*4 = 12
。(7,9)
向右走六步,就会到达(3,9)
。结果序列为f(n)+g(n+1)
( n
为0索引)。
这里的前六种颜色,按绿色、→蓝色、→紫色、→灰色、→红→橙顺序排列:
f
(0-索引):(1+1) → (1-2) → (3*2) → (3+5) → (7-5) → (7*10)
g
(1-索引):(1+1) → (3-1) → (3*4) → (7+4) → (7-9) → (3*9)
得到的序列是这两个序列的和。
下面是0索引序列f
的前100项:
2,-1,6,8,2,70,13,-4,7,7,-5,7,10,-7,70,12,-2,6,3,0,1,3,1,15,12,-3,30,10,-6,6,7,-6,21,13,-3,35,8,1,2,2,0,2,5,-2,35,17,-7,21,8,-5,6,8,-4,30,17,2,15,5,-1,1,2,-1,6,8,2,70,13,-4,7,7,-5,7,10,-7,70,12,-2,6,3,0,1,3,1,15,12,-3,30,10,-6,6,7,-6,21,13,-3,35,8,1,2,2
以下是1索引序列g
的前100项:
2,2,12,11,-2,27,9,-5,5,6,-5,18,12,-2,28,7,2,1,11,-9,1,4,-1,28,16,-6,18,7,-4,5,7,-3,27,16,3,12,4,0,10,11,0,3,7,3,63,12,-3,6,6,-4,6,9,-6,63,11,-1,3,2,-9,10,2,2,12,11,-2,27,9,-5,5,6,-5,18,12,-2,28,7,2,1,11,-9,1,4,-1,28,16,-6,18,7,-4,5,7,-3,27,16,3,12,4,0,10,11
以下是结果序列的前100项:
4,1,18,19,0,97,22,-9,12,13,-10,25,22,-9,98,19,0,7,14,-9,2,7,0,43,28,-9,48,17,-10,11,14,-9,48,29,0,47,12,1,12,13,0,5,12,1,98,29,-10,27,14,-9,12,17,-10,93,28,1,18,7,-10,11,4,1,18,19,0,97,22,-9,12,13,-10,25,22,-9,98,19,0,7,14,-9,2,7,0,43,28,-9,48,17,-10,11,14,-9,48,29,0,47,12,1,12,13
给定整数n
,输出上述结果序列的n
'th数(0索引序列和1索引序列之和)。因此,计算h(n) = f(n)+g(n+1)
。
n-1
,这样f(n)+g(n+1)
将在f(0)+g(1)
(而不是f(1)+g(2)
)开始。.0
的字符串或十进制,而不是整数。0 4
1 1
2 18
3 19
4 0
5 97
10 -10
50 12
60 4
61 1
62 18
63 19
100 0
111 17
1000 0
1994 98
2497 1
2498 12
2499 13
2500 0
注意/提示:这些序列每60项自我重复一次。
发布于 2017-10-03 12:08:21
发布于 2017-10-03 16:29:51
硬编码结果:
=CHOOSE(MOD(A1,60)+1,5,2,19,20,1,98,23,-8,13,14,-9,26,23,-8,99,20,1,8,15,-8,3,8,1,44,29,-8,49,18,-9,12,15,-8,49,30,1,48,13,2,13,14,1,6,13,2,99,30,-9,28,15,-8,13,18,-9,94,29,2,19,8,-9,12)-1
将1添加到所有查找结果中,保存3个字节,然后在结束时减去。这将-10
转换为-9
5次。
发布于 2017-10-03 12:35:27
'HEVWD¥Z;PQ:]Z;¦WDKR;FKDo`;tU:OR;taDsPEPQDIPE¦a:_R;PU:¡`EVK:O'["$args"%60]-68
ovs的回答港口到PowerShell。因为在阅读了这个挑战之后,我打算做一些类似的事情,更容易的是重复使用字符串。
https://codegolf.stackexchange.com/questions/144334
复制相似问题