Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Write a JavaScript function sumTwoHugeNumbers(value) that accepts as parameter an array containing
- the two numbers. The input numbers are represented as strings. You are not allowed to use external libraries.
- The result should be printed on the console. */
- "use strict";
- function sumTwoHugeNumbers(arr) {
- if (!arr[0].length || !arr[1].length ||
- arr[0] != Number(arr[0]) || arr[1] != Number(arr[1])) {
- return undefined + ' - invalid input!';
- }
- var firstNumArr = arr[0].split('').filter(Boolean);
- var secondNumArr = arr[1].split('').filter(Boolean);
- if (firstNumArr.length != secondNumArr.length) {
- var numAddingZeroes = Math.abs(firstNumArr.length - secondNumArr.length);
- if (firstNumArr.length > secondNumArr.length) {
- do {
- secondNumArr.unshift('0');
- numAddingZeroes--;
- } while (numAddingZeroes);
- } else {
- do {
- firstNumArr.unshift('0');
- numAddingZeroes--;
- } while (numAddingZeroes);
- }
- }
- var tempAdd = 0;
- for (var i = firstNumArr.length - 1; i >= 0; i -= 1) {
- var num1 = parseInt(firstNumArr[i]);
- var num2 = parseInt(secondNumArr[i]);
- var sum = num1 + num2 + tempAdd;
- (sum > 9) ? tempAdd = 1 : tempAdd = 0;
- sum = sum.toString(10);
- if (i) {
- sum = sum[sum.length - 1];
- }
- firstNumArr[i] = sum;
- }
- return firstNumArr.join('');
- }
- console.log(sumTwoHugeNumbers(['155', '65']));
- console.log(sumTwoHugeNumbers(['123456789', '123456789']));
- console.log(sumTwoHugeNumbers(['887987345974539','4582796427862587']));
- console.log(sumTwoHugeNumbers(['347135713985789531798031509832579382573195807',
- '817651358763158761358796358971685973163314321']));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement