// 函数实现一个大位数乘法,可以计算出诸如1865459497823*6349526719336的结果
// 实现思路:乘法的手算方式,一位一位相乘,建立数组存储每一位的数
function bigMultiply(num1,num2) {
num1 = num1.toString()
num2 = num2.toString()
let rs = new Array(num1.length+num2.length).fill(0)
for (let i = num1.length-1; i >=0; i--) {
let temp = ''
let carray = 0
for (let j = num2.length - 1; j >= 0; j--) {
let t = num2[j] * num1[i] + carray
let sum = rs[i+j+1] + t
rs[i + j + 1] = sum%10
rs[i+j] += sum/10 | 0 //与零非为取整
}
}
while (rs[0] === 0) {
rs.shift()
}
return rs.join('')
}
console.log(bigMultiply('1865459497823', '6349526719336'));