我們將求方陣的兩條對角線之和之間的差。首先,我們將通過從左上角到右下角遍歷矩陣來計(jì)算第一條對角線中存在的元素的總和。其次,我們將通過從右上角到左下角遍歷矩陣來計(jì)算第二對角線中存在的元素的總和。最后,我們用第一條對角線的和減去第二條對角線的和,得到兩條對角線之間的差。
方法
要求方陣的兩條對角線之和之間的差,第一步是定義一個將矩陣作為輸入的函數(shù)。
接下來,您需要循環(huán)遍歷矩陣并計(jì)算第一個對角線(從左上到右下)中存在的元素之和。
類似地,計(jì)算第二個對角線(從右上到左下)中存在的元素的總和
用第一個對角線和減去第二個對角線和并將結(jié)果存儲在變量中。
返回結(jié)果變量,即方陣兩條對角線之和的差。
示例
這是一個 JavaScript 程序,用于計(jì)算矩陣兩條對角線之和之間的差異 –
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));
登錄后復(fù)制
說明
函數(shù)diagonalDifference采用二維數(shù)組(矩陣)作為參數(shù)。
聲明兩個變量leftToRightDiagonalSum和rightToLeftDiagonalSum分別用于存儲從左到右對角線和從右到左對角線的總和。
矩陣的大小存儲在matrixSize變量中。
for 循環(huán)用于迭代矩陣。在每次迭代中,矩陣中的當(dāng)前值都會添加到兩條對角線的總和中。
要計(jì)算從左到右的對角線和,請將行和列中相同位置的值添加到 leftToRightDiagonalSum。
要計(jì)算從右到左的對角線總和,需要從 matrixSize – 1 中減去行中與列相同位置的值。 這是因?yàn)閺挠业阶?左對角線與從左到右對角線的方向相反。
使用 Math.abs 函數(shù)計(jì)算兩個對角線和之間的絕對差并作為結(jié)果返回。
聲明示例矩陣并將其傳遞給 diagonalDifference 函數(shù),并將結(jié)果記錄到控制臺。
這個程序的輸出應(yīng)該是2,它是樣本矩陣的兩條對角線之和的差。
以上就是JavaScript 程序查找兩條對角線之和之間的差異的詳細(xì)內(nèi)容,更多請關(guān)注www.92cms.cn其它相關(guān)文章!