方法要求方阵的两条对角线之和之间的差,第一步是定义一个将矩阵作为输入的函数。
接下来,您需要循环遍历矩阵并计算第一个对角线(从左上到右下)中存在的元素之和。
类似地,计算第二个对角线(从右上到左下)中存在的元素的总和
用第一个对角线和减去第二个对角线和并将结果存储在变量中。
返回结果变量,即方阵两条对角线之和的差。
示例这是一个 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采用二维数组(矩阵)作为参数。
声明两个变量lefttorightdiagonalsum和righttoleftdiagonalsum分别用于存储从左到右对角线和从右到左对角线的总和。
矩阵的大小存储在matrixsize变量中。
for 循环用于迭代矩阵。在每次迭代中,矩阵中的当前值都会添加到两条对角线的总和中。
要计算从左到右的对角线和,请将行和列中相同位置的值添加到 lefttorightdiagonalsum。
要计算从右到左的对角线总和,需要从 matrixsize - 1 中减去行中与列相同位置的值。 这是因为从右到左-左对角线与从左到右对角线的方向相反。
使用 math.abs 函数计算两个对角线和之间的绝对差并作为结果返回。
声明示例矩阵并将其传递给 diagonaldifference 函数,并将结果记录到控制台。
这个程序的输出应该是2,它是样本矩阵的两条对角线之和的差。
以上就是javascript 程序查找两条对角线之和之间的差异的详细内容。
