给定单个正整数的输入,则输出对应于该整数的“交叉替代总和”。
以输入为例n=5
。要查找交叉替换的总和,请首先创建一个宽度和高度的正方形网格,该网格n
从左至右,从上至下依次从1
每个位置开始并增加一个:
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
然后,从构成“十字”(即,两个对角线合并)的网格中求和:
1 5
7 9
13
17 19
21 25
1 5 7 9 13 17 19 21 25
最后,取该序列的交替总和:
1+5-7+9-13+17-19+21-25
-11
另一个示例,for n=6
(只是为了显示偶数编号的十字架的样子n
):
1 2 3 4 5 6
7 8 9 10 11 12
13 14 15 16 17 18
19 20 21 22 23 24
25 26 27 28 29 30
31 32 33 34 35 36
1 6
8 11
15 16
21 22
26 29
31 36
1+6-8+11-15+16-21+22-26+29-31+36
20
由于这是code-golf,因此以字节为单位的最短代码将获胜。
以下是n=1
to 的正确输出n=100
,您可以将其用作测试用例:
1
4
-3
10
-11
20
-23
34
-39
52
-59
74
-83
100
-111
130
-143
164
-179
202
-219
244
-263
290
-311
340
-363
394
-419
452
-479
514
-543
580
-611
650
-683
724
-759
802
-839
884
-923
970
-1011
1060
-1103
1154
-1199
1252
-1299
1354
-1403
1460
-1511
1570
-1623
1684
-1739
1802
-1859
1924
-1983
2050
-2111
2180
-2243
2314
-2379
2452
-2519
2594
-2663
2740
-2811
2890
-2963
3044
-3119
3202
-3279
3364
-3443
3530
-3611
3700
-3783
3874
-3959
4052
-4139
4234
-4323
4420
-4511
4610
-4703
4804
-4899
5002