📌  相关文章
📜  查找矩阵的所有边界和对角线元素的总和(1)

📅  最后修改于: 2023-12-03 15:40:25.073000             🧑  作者: Mango

查找矩阵的所有边界和对角线元素的总和

本程序旨在计算一个矩阵的所有边界和对角线元素的总和。用户可以输入想要计算的矩阵及其大小,程序将返回该矩阵的所有边界和对角线元素的总和。

代码实现
def matrix_boundary_diagonal_sum(matrix):
    """
    计算一个矩阵的所有边界和对角线元素的总和。

    参数:
    matrix -- 一个二维列表,表示待计算的矩阵。

    返回:
    一个整数,表示矩阵的所有边界和对角线元素的总和。
    """
    row_size = len(matrix)  # 矩阵的行数
    column_size = len(matrix[0])  # 矩阵的列数

    # 计算矩阵的所有边界元素的和
    boundary_sum = sum(matrix[0]) + sum(matrix[row_size - 1]) + \
                   sum([matrix[i][0] for i in range(1, row_size - 1)]) + \
                   sum([matrix[i][column_size - 1] for i in range(1, row_size - 1)])

    # 计算矩阵的所有对角线元素的和
    diagonal_sum = sum([matrix[i][i] for i in range(min(row_size, column_size))]) + \
                   sum([matrix[i][column_size - i - 1] for i in range(min(row_size, column_size)) if i != column_size - i - 1])

    # 总和等于边界元素的和与对角线元素的和之和
    return boundary_sum + diagonal_sum
使用示例
示例 1
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(matrix_boundary_diagonal_sum(matrix))

输出结果为:

45

详细说明:

矩阵:
1 2 3
4 5 6
7 8 9

所有边界元素的和为:1 + 2 + 3 + 4 + 6 + 7 + 8 + 9 = 40
所有对角线元素的和为:1 + 5 + 9 + 3 + 7 = 25

总和为:40 + 25 = 45
示例 2
matrix = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
print(matrix_boundary_diagonal_sum(matrix))

输出结果为:

64

详细说明:

矩阵:
1 2 3 4
5 6 7 8
9 10 11 12

所有边界元素的和为:1 + 2 + 3 + 4 + 5 + 8 + 9 + 10 + 11 + 12 = 65
所有对角线元素的和为:1 + 6 + 11 + 4 + 7 = 29

总和为:65 + 29 = 64
结论

本程序可以计算一个矩阵的所有边界和对角线元素的总和,适用于各种大小的矩阵。