题解 | #矩阵乘法#
矩阵乘法
https://www.nowcoder.com/practice/ebe941260f8c4210aa8c17e99cbc663b
const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); let [x, y, z] = [0,0,0] let row = 0 // 矩陣A const A = [] // 矩阵 B const B = [] // 矩陣C const C = [] rl.on('line', function (line) { row++ if(row === 1){ x = Number(line) }else if(row === 2){ y = Number(line) }else if(row === 3){ z = Number(line) }else if(row <= x + 3){ A.push(line.split(' ')) }else if(row <= x + 3 + y){ B.push(line.split(' ')) // 当是最后一行时 if(row === x + 3 + y){ // 结果数矩阵行 for(let i = 0; i < x; i++){ const row = [] // 结果矩阵列 for(let j = 0; j < z; j++){ let tmp = 0 let v = 0 // A矩阵行 与 B矩阵列乘积和即为 C矩阵某一个元素 while(tmp < y){ v += A[i][tmp] * B[tmp][j] tmp++ } // 保存C矩阵某个元素 row.push(v) } // C矩阵一行 C.push(row) } C.forEach(row=>console.log(row.join(' '))) } } });