DEV Community

Discussion on: Daily Challenge #119 - Adding Big Numbers

Collapse
 
peter279k profile image
peter279k

Here is the simple solution with JavaScript:

function add(a, b) {
  var ans = "";

  if (a.length > b.length ) {
    var zeroLength = a.length - b.length;

    for (var index=0; index<zeroLength; index++) {
      b = "0" + b;
    }
  }

  if (a.length < b.length ) {
    var zeroLength = b.length - a.length;

    for (var index=0; index<zeroLength; index++) {
      a = "0" + a;
    }
  }

  var step = [];
  if (a.length === b.length) {
    for (var index=a.length-1; index>=0; index--) {
      var numberA = Number(a[index]);
      var numberB = Number(b[index]);
      var addResult = 0;
      if (step[index+1]) {
        addResult = step[index+1] + numberA + numberB;
      } else {
        addResult = numberA + numberB;
      }
      if (addResult >= 10 && index !== 0) {
        ans = String(addResult - 10) + ans;
        step[index] = 1;
      } else {
        ans = String(addResult) + ans;
      }
    }
  }

  return ans;
}