纯属个人记录,每日总要写几遍,以免老年痴呆,dp还是比较艰难,希望能自己坚持到最后一步
字符串相乘
function multiply(a, b) {
let [m, n] = [a.length, b.length];
let res = new Array(m + n).fill(0);
for (let i = m - 1; i >= 0; i--) {
for (let j = n - 1; j >= 0; j--) {
let pos = i + j;
let pos1 = pos + 1;
let sum = Number(a[i]) * Number(b[j]) + res[pos1];
res[pos1] = sum % 10;
res[pos] = Math.floor(sum / 10) + res[pos];
}
}
while (res[0] == 0) {
res.shift();
}
return res.length == 0 ? '0' : res.join('');
}
multiply('455', '789');
数字转36进制
function to36(num, radix = 36) {
if (num == 0) return '';
let base = '0123456789abcdefghijklmnopqrstuvwxyz';
let res = '';
while (num > 0) {
let flag = num % radix;
res = base[flag] + res;
num = Math.floor(num / radix);
}
return res;
}
to36(360); // a0