索引总和并去除我的矩阵
给定您喜欢的语言的matrix / 2d数组
输入:
- 矩阵将始终具有奇数长度
- 矩阵将永远是完美的正方形
- 矩阵值可以是您语言中的任何整数(正数或负数)
例:
1 2 3 4 5 6 7
2 3 4 5 6 7 8
3 4 50 6 7 8 9
4 5 6 100 8 9 10
5 6 7 8 -9 10 11
6 7 8 9 10 11 12
7 8 900 10 11 12 0
定义:
- “中心号码”定义为在左,右,上和下具有相同数量的数字的号码
在这种情况下,其最中间的100
- “外壳”是其x和y索引为0或矩阵大小的数字的集合
1 2 3 4 5 6 7
2 8
3 9
4 10
5 11
6 12
7 8 900 10 11 12 0
你的任务:
将每行和每列的值乘以它们从1开始的索引后,将其加到中心数
例如单行
4 5 6 7 8
每个数字
number * index + number * index.....
4*1 + 5*2 + 6*3 + 7*4 + 8*5 => 100
例:
2 -3 -9 4 7 1 5 => 61
-2 0 -2 -7 -7 -7 -4 => -141
6 -3 -2 -2 -3 2 1 => -10
8 -8 4 1 -8 2 0 => -20
-5 6 7 -1 8 4 8 => 144
1 5 7 8 7 -9 -5 => 10
7 7 -2 2 -7 -8 0 => -60
|
78 65 60 45 -15 -89 10 => 154
|
=> -16
- 对于所有行和列,您可以组合这些值。
- 现在您也将这些总和=> 154-16 = 138
- 您将该数字添加到“中心数字”并删除矩阵的“外壳”
0 -2 -7 -7 -7 => -88
-3 -2 -2 -3 2 => -15
-8 4 1+138 -8 2 => 395
6 7 -1 8 4 => 69
5 7 8 7 -9 => 26
19 69 442 30 -26
这样做直到最后得到一个数字
-2 -2 -3 => -15
4 1060 -8 => 2100
7 -1 8 => 29
27 2115 5
- 加2114 + 2147至1060
- 除去“外壳”并得到5321
- 现在我们只剩下一个号码
这是输出!
测试用例:
-6
-6
-7 -1 8
-4 -6 7
-3 -6 6
2
6 7 -2 5 1
-2 6 -4 -2 3
-1 -4 0 -2 -7
0 1 4 -4 8
-8 -6 -5 0 2
-365
8 3 5 6 6 -7 5
6 2 4 -2 -1 8 3
2 1 -5 3 8 2 -3
3 -1 0 7 -6 7 -5
0 -8 -4 -9 -4 2 -8
8 -9 -3 5 7 8 5
8 -1 4 5 1 -4 8
17611
-9 -7 2 1 1 -2 3 -7 -3 6 7 1 0
-7 -8 -9 -2 7 -2 5 4 7 -7 8 -9 8
-4 4 -1 0 1 5 -3 7 1 -2 -9 4 8
4 8 1 -1 0 7 4 6 -9 3 -9 3 -9
-6 -8 -4 -8 -9 2 1 1 -8 8 2 6 -4
-8 -5 1 1 2 -9 3 7 2 5 -6 -1 2
-8 -5 -7 -4 -9 -2 5 0 2 -4 2 0 -2
-3 -6 -3 2 -9 8 1 -5 5 0 -4 -1 -9
-9 -9 -8 0 -5 -7 1 -2 1 -4 -1 5 7
-6 -9 4 -2 8 7 -9 -5 3 -1 1 8 4
-6 6 -3 -4 3 5 6 8 -2 5 -1 -7 -9
-1 7 -9 4 6 7 6 -8 5 1 0 -3 0
-3 -2 5 -4 0 0 0 -1 7 4 -9 -4 2
-28473770