w3resource

JavaScript: Product of two non-negative integers as strings

JavaScript Math: Exercise-103 with Solution

Write a JavaScript program to calculate the product of non-negative integers n1 and n2 represented as strings. The product is also returned as a string.

Test Data:
("11", "10") -> "110"
("17", "19") -> "323"
("1", "0") -> "0"
("0", "0") -> "0"

Sample Solution:

JavaScript Code:

/**
 * Function to multiply two integers represented as strings.
 * @param {string} n1 - The first integer as a string.
 * @param {string} n2 - The second integer as a string.
 * @returns {string} - The product of the two integers as a string.
 */
function test(n1, n2) {
    if (n1 === '0' || n2 === '0') // If either input is '0', return '0'
        return '0';
    
    n1_len = n1.length; // Length of first integer
    n2_len = n2.length; // Length of second integer
    result = new Array(n1_len + n2_len).fill(0); // Array to store the result
    
    // Multiplication algorithm using arrays
    for (i = n1_len - 1; i >= 0; i--) {
        for (j = n2_len - 1; j >= 0; j--) {
            t1 = i + j; // Index for tens place
            t2 = i + j + 1; // Index for ones place
            total = result[t2] + Number(n1[i]) * Number(n2[j]); // Calculate the product and add to the existing value
            result[t2] = total % 10; // Store the ones place of the product
            result[t1] += Math.floor(total / 10); // Store the carry-over to the tens place
        }
    }
    
    if (result[0] === 0) // Remove leading zeros
        result.shift();
    
    return result.join(''); // Convert array to string and return the product
}

n1 = "11";
n2 = "10";
console.log("n1 = " + n1 + ", n2 = " + n2);
console.log("Product of the said two integers as strings: " + test(n1, n2));

n1 = "17";
n2 = "19";
console.log("n1 = " + n1 + ", n2 = " + n2);
console.log("Product of the said two integers as strings: " + test(n1, n2));

n1 = "1";
n2 = "0";
console.log("n1 = " + n1 + ", n2 = " + n2);
console.log("Product of the said two integers as strings: " + test(n1, n2));

n1 = "0";
n2 = "0";
console.log("n1 = " + n1 + ", n2 = " + n2);
console.log("Product of the said two integers as strings: " + test(n1, n2));

Output:

n1 = 11, n2 = 10
Product of the said two integers as strings: 110
n1 = 17, n2 = 19
Product of the said two integers as strings: 323
n1 = 1, n2 = 0
Product of the said two integers as strings: 0
n1 = 0, n2 = 0
Product of the said two integers as strings: 0

Flowchart:

JavaScript: Product of two non-negative integers as strings.

Live Demo:

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


Improve this sample solution and post your code through Disqus.

Previous: Count total number of 1s from 1 to N.
Next: Distinct ways to climb the staircase.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.