From 5a8034b5a1303324bdc875e254792f9eda7be979 Mon Sep 17 00:00:00 2001 From: liyonglu123 <1719867125@qq.com> Date: Sat, 20 Aug 2022 23:34:07 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=B8=A4=E4=B8=AA=E5=A4=A7=E6=95=B0?= =?UTF-8?q?=E7=9B=B8=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/add.js | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/lib/add.js b/lib/add.js index 1714b95..f3f59aa 100644 --- a/lib/add.js +++ b/lib/add.js @@ -1,5 +1,30 @@ -function add() { - // 实现该函数 + function add(a, b) { + // 实现该函数 + if (typeof a === 'number') a = String(a) + if (typeof b === 'number') b = String(b) + + //取两个数字的最大长度 + const maxLength = Math.max(a.length, b.length) + + //用0去补齐长度 + a = a.padStart(maxLength, 0) + b = b.padStart(maxLength, 0) + + let temp = 0 + // 进位的标志 + let carry = 0 + let sum = '' + + for(let i = maxLength - 1; i >=0; i--) { + temp = parseInt(a[i]) + parseInt(b[i]) + carry + carry = Math.floor(temp / 10) + sum = temp % 10 + sum + } + + if (carry === 1) { + sum = '1' + sum + } + return sum } module.exports = add \ No newline at end of file