酷代码 AI
菜单

题目描述 读入一个 的数字矩阵,输出数字矩阵的主对角线之和。 即自左上到右下这条对角线。 输入 读入一个整数 , 不超过 。 接下来读入 行 列的数字矩阵。每个数字的范围在 ~ 之间。 输出 输出数字矩阵的主对角线之和。 样例输入 复制 10 10 4 4 3 7 9 8 5 7 9 10 10 6 3 10 3 6 4 10 3 4 10 4 1 4 4 8 8 8 7 7 9 9 9 9 9 10 4 3 5 1 6 2 6 4 6 6 5 8 10 3 9 8 7 6 9 8 7 6 4 2 7 9 5 7 3 5 4 8 4 1 2 1 4 10 3 2 2 8 2 10 6 10 8 5 5 10 9 6 6 7 6 4 5 10 5 6 5 10 9 样例输出 复制

```python # 读取矩阵的阶数 n n = int(input()) # 初始化主对角线元素之和 diagonal_sum = 0 # 循环读取矩阵的每一行 for i in range(n): # 读取当前行的元素 row = list(map(int, input().split())) # 累加当前行主对角线上的元素 diagonal_sum += row[i] # 输出主对角线元素之和 print(diagonal_sum) ``` 代码说明 1. 读取矩阵阶数:通过 `int(input())` 读取矩阵的阶数 `n`。 2. 初始化和:使用 `diagonal_sum = 0` 初始化主对角线元素的和。 3. 逐行读取矩阵并累加主对角线元素: - 使用 `for i in range(n)` 循环 `n` 次,每次读取一行。 - 使用 `list(map(int, input().split()))` 读取一行元素并转换为整数列表。 - 对于第 `i` 行,主对角线上的元素是 `row[i]`,将其累加到 `diagonal_sum` 中。 4. 输出结果:最后打印主对角线元素之和。 注意事项 - 要确保输入的矩阵是 `n` 行 `n` 列的,每行元素数量为 `n`。 - 代码假设输入的元素都在合法范围内(题目未明确给出具体范围)。 - 对于大规模矩阵,代码的时间复杂度是 $O(n)$,因为只需要遍历矩阵的一行元素一次。 [2025-12-08 12:25:06 | AI问答 | 358点数解答]

服务商
相关提问
发财导航,免费问AI
实用工具查看更多