w3resource

JavaScript: Two positive integers as string, return their sum

JavaScript Math: Exercise-77 with Solution

Write a JavaScript program to compute the sum of two non-negative integers num1 and num2 represented by strings.

Test Data:
("123", "123") -> 246
("45", "100") -> 145

Sample Solution:

JavaScript Code:

/**
 * Function to perform addition of two large numbers represented as strings.
 * @param {string} n1 - The first number as a string.
 * @param {string} n2 - The second number as a string.
 * @returns {string} - The sum of the two numbers as a string.
 */
function test(n1, n2) {
    // Initialize an empty string to store the result
    var str = '';
    // Initialize the carry to 0
    var carry = 0;
    // Initialize the index for the first number
    var num1 = n1.length - 1;
    // Initialize the index for the second number
    var num2 = n2.length - 1;
    // Initialize a variable to store the sum of two digits
    var sum_of_two;

    // Loop until both numbers are exhausted
    while (num1 >= 0 || num2 >= 0) {
        // Calculate the sum of two digits from each number and add the carry
        sum_of_two = (parseInt(n1[num1]) || 0) + (parseInt(n2[num2]) || 0) 
        sum_of_two += carry ? 1 : 0;
        
        // If the sum is greater than 9, set the carry and append the unit digit to the result
        if (sum_of_two > 9) {
            carry = 1;
            str = sum_of_two % 10 + str;
        } else {
            // If the sum is less than or equal to 9, append the sum to the result
            str = sum_of_two + str;
            // Reset the carry to 0
            carry = 0;
        }
        // Move to the next digits of both numbers
        num1--;
        num2--;
    }
    // If there is still a carry after the loop, append it to the result
    if (carry) {
        str = 1 + str;
    }
    // Return the final result
    return str;
}

// Test cases
console.log(test("123", "123"));
console.log(test("45", "100"));

Output:

246
145

Flowchart:

JavaScript: Two positive integers as string, return their sum.

Live Demo:

See the Pen javascript-math-exercise-77 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus.

Previous: Subtract without arithmetic operators.
Next: Nth Tetrahedral Number

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/javascript-exercises/javascript-math-exercise-77.php