-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathbigAdd.js
More file actions
38 lines (34 loc) · 734 Bytes
/
bigAdd.js
File metadata and controls
38 lines (34 loc) · 734 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/*
* 两个最大数的加法
* */
var bigAdd = function (a, b) {
var al = a.length, bl = b.length, temp = '', sign = false, res = '';
var l = Math.max(al, bl);
if (al < bl) {
a = paddingLeft(a, bl - al);
} else {
b = paddingLeft(b, al - bl);
}
for(var i=l-1; i>=0; i--) {
temp = (+a[i]) + (+b[i]);
if (sign){
temp += 1;
sign = false;
}
if (temp > 9) {
temp = temp - 10;
sign = true;
}
res = temp + res;
}
if (sign) {
res = '1' + res;
}
return res;
};
var paddingLeft = function (str, l) {
for (var i=0; i<l; i++) {
str = '0' + str;
}
return str;
};