给定一个n×n的方阵,本题要求计算该矩阵主、副对角线上的所有元素之和。主对角线为从矩阵的左上角至右下角的连线,副对角线为从矩阵的右上角至左下角的连线。python
时间: 2023-09-15 18:15:21 浏览: 66
代码如下:
```
def diagonal_sum(matrix):
n = len(matrix)
main_sum = 0
sub_sum = 0
for i in range(n):
main_sum += matrix[i][i]
sub_sum += matrix[i][n-i-1]
return main_sum + sub_sum
# 测试
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(diagonal_sum(matrix)) # 输出:25
```
这个函数可以计算一个 n x n 的方阵的主、副对角线上的所有元素之和。主对角线和副对角线上的元素可以通过下标来访问,主对角线上的元素下标都是 (i, i),副对角线上的元素下标都是 (i, n-i-1)。我们可以用一个循环来遍历主、副对角线上的元素,并累加它们的值,最后返回它们的和。