JavaScript 找出两个对角线之和的差

JavaScript 找出两个对角线之和的差

我们将找到一个方阵两个对角线之和的差。首先,我们将通过从左上角开始遍历矩阵到右下角,计算出第一个对角线上元素的和。其次,我们将通过从右上角开始遍历矩阵到左下角,计算出第二个对角线上元素的和。最后,我们将第二个对角线的和减去第一个对角线的和,得到两个对角线之间的差异。

方法

  • 要找出方阵两个对角线之和的差,第一步是定义一个函数,该函数将矩阵作为输入。

  • 接下来,需要循环遍历矩阵,并计算出第一个对角线上元素的和(从左上角到右下角)。

  • 类似地,计算出第二个对角线上元素的和(从右上角到左下角)。

  • 将第二个对角线的和从第一个对角线的和中减去,并将结果存储在一个变量中。

  • 返回结果变量,该变量将是方阵两个对角线之和的差异。

示例

以下是一个JavaScript程序,用于找到一个矩阵两个对角线之和的差异−

function diagonalDifference(arr) {
   let leftToRightDiagonalSum = 0;
   let rightToLeftDiagonalSum = 0;
   let matrixSize = arr.length;
   for (let i = 0; i < matrixSize; i++) {
      leftToRightDiagonalSum += arr[i][i];
      rightToLeftDiagonalSum += arr[i][matrixSize - 1 - i];
   }
   return Math.abs(leftToRightDiagonalSum - rightToLeftDiagonalSum);
}
let matrix = [[1, 2, 3], [4, 5, 6], [9, 8, 9]];
console.log(diagonalDifference(matrix));

解释

  • 函数 diagonalDifference 将一个二维数组(矩阵)作为参数。

  • 声明了两个变量 leftToRightDiagonalSumrightToLeftDiagonalSum 用于存储从左上到右下对角线和从右上到左下对角线的和。

  • 矩阵的大小存储在变量 matrixSize 中。

  • 使用for循环遍历矩阵。在每次迭代中,将矩阵中的当前值添加到两个对角线的和中。

  • 计算从左上到右下对角线的和,将行和列中相同位置的值添加到 leftToRightDiagonalSum 中。

  • 计算从右上到左下对角线的和,将行中与列相同位置的值从 matrixSize – 1 中减去。这是因为从右上到左下的对角线与从左上到右下对角线方向相反。

  • 使用 Math.abs 函数计算两个对角线和的绝对差,并将其作为结果返回。

  • 声明了一个示例矩阵并将其传递给 diagonalDifference 函数,将结果记录到控制台。

此程序的输出应为2,即示例矩阵的两条对角线之和的差值。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程