/** * * 大數乘法 模擬乘法 * * @param {string} num1 整數字符串 * @param {string} num2 整數字符串 * @return {string} 整數字符串 */ function multiplication(num1, num2) { const result = Array.from({ length: num1.length + num2.length }, () => 0); const len1 = num1.length; const len2 = num2.length; for (let i = len1 - 1; i >= 0; i -= 1) { let carry = 0; for (let j = len2 - 1; j >= 0; j -= 1) { result[i + j + 1] += carry + num1[i] * num2[j]; carry = Math.floor(result[i + j + 1] / 10); result[i + j + 1] = result[i + j + 1] % 10; } result[i] += carry; } return result.join('').replace(/^0+(\d)/, '$1'); }