求矩阵两条对角线上元素之和js
时间: 2023-05-23 16:04:49 浏览: 93
以下是求矩阵两条对角线上元素之和的 JavaScript 代码:
```javascript
function diagonalSum(matrix) {
let sum = 0;
for (let i = 0; i < matrix.length; i++) {
sum += matrix[i][i]; // 加上主对角线上的元素
sum += matrix[i][matrix.length - 1 - i]; // 加上副对角线上的元素
}
return sum;
}
```
使用示例:
```javascript
const matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
console.log(diagonalSum(matrix)); // 输出 25,即 1 + 5 + 9 + 3 + 7
```
解释:
这里使用了双层循环来遍历矩阵的每个元素,其中 `i` 是行号和列号的通用变量。主对角线上的元素有一个特征,即它们的行号和列号相等,可以通过 `matrix[i][i]` 来访问;副对角线上的元素有另一个特征,即它们的行号和列号之和等于矩阵长度减一,可以通过 `matrix[i][matrix.length - 1 - i]` 来访问。最后将它们的和作为函数的返回值。
相关问题
求矩阵两条对角线上元素之和JS
可以使用以下代码来求解矩阵两条对角线上元素之和:
```javascript
function diagonalSum(matrix) {
let sum = 0;
for(let i = 0; i < matrix.length; i++) {
sum += matrix[i][i]; // 左上到右下的对角线上的元素
sum += matrix[i][matrix.length - i - 1]; // 右上到左下的对角线上的元素
}
if(matrix.length % 2 === 1) { // 如果矩阵是奇数阶,则中间的元素会被重复计算,在此处减去
sum -= matrix[Math.floor(matrix.length/2)][Math.floor(matrix.length/2)];
}
return sum;
}
// 测试
const matrix = [
[1,2,3],
[4,5,6],
[7,8,9]
];
console.log(diagonalSum(matrix)); // 输出 25,因为左上到右下的对角线上元素之和为 1+5+9=15,右上到左下的对角线上元素之和为 3+5+7=15,总和为 25。
```
在上述代码中,`matrix` 是一个二维数组,函数 `diagonalSum` 的实现逻辑是先累加左上到右下的对角线上的元素,然后累加右上到左下的对角线上的元素,最后返回这两个和的总和即可。同时,如果矩阵是奇数阶,则中间的元素会被重复计算,需要将其减去。
求一个4×4矩阵两条对角线上元素之和
可以通过以下方式来求一个4×4矩阵两条对角线上元素之和:
首先,我们可以定义一个4×4的矩阵:
a = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]
然后,我们可以通过以下方式来计算两条对角线上的元素之和:
# 计算主对角线上的元素之和
sum_main = 0
for i in range(4):
sum_main += a[i][i]
# 计算副对角线上的元素之和
sum_secondary = 0
for i in range(4):
sum_secondary += a[3-i][i]
最后,我们可以将这两个和加起来,得到两条对角线上元素之和的结果:
sum_diagonal = sum_main + sum_secondary
因此,4×4矩阵两条对角线上元素之和为 68。
阅读全文