Skip to main content

Section 4.3 Multiplication Algorithms

The way we multiply by hand is intrinsically based on both the ideas of place value, and the property of distributivity. In all of the following algorithms, both ideas will be important. Before we begin talking about how to multiply, we need to know how to do two things well; multiply powers of ten together, and how to multiply two single digits together. The first of these is very easy. The second is easy too, but there are a lot of different cases.

Subsection 4.3.1 Multiplication Preliminaries

Thinking about place values as powers of ten, we can use our exponent rules to help us here. First of all, we can think of powers of ten, say \(10^n\text{,}\) as "a 1 followed by \(n\) zeroes". So, for example, \(10^5 = 100,000.\text{.}\)
Using our exponent rules we know \(10^n \times 10^m = 10^{n+m}\text{.}\) For example, \(10^3 \times 10^5 = 10^{3+5}=10^8\text{.}\) Or, written as numbers, \(1000 \times 100,000 = 100,000,000\text{.}\)
Moving on to multiplying single digits together, we *could* calculate these using, for example, the repeated addition model of multiplication every time, but single digit multiplication comes up so often its much better to know these off the top of our heads. It is indeed worth memorizing all single digit multiplications if you haven’t yet.
We can put the previous two ideas together to multiply numbers like \(9000 \times 400,\) using associativity and commutativity of multiplication:
\begin{equation*} 9000 \times 400 = (9 \times 10^3) \times (4 \times 10^2) \end{equation*}
\begin{equation*} =(9 \times 4) \times (10^3 \times 10^2) \end{equation*}
\begin{equation*} = 36 \times 10^5 \end{equation*}
\begin{equation*} = 3,600,000. \end{equation*}

Checkpoint 4.3.1.

Subsection 4.3.2 Partial Products

All of our algorithms for multiplication rely heavily on place value and distributivity. For the partial products algorithm we calculate a product of two whole numbers by doing the following:
  1. Write (or at least view in your head) both numbers in expanded form. Usually, this is done by writing the numbers so that the same place values are in the same column.
  2. Multiply each single digit multiple of powers of ten in the first number by each single digit multiple of powers of ten in the second number. For each calculation, write down this partial product, lining it up according to place value with the other partial products.
  3. Sum all partial products together (using, for example, the standard addition algorithm) to find the final product of the two numbers.
Let’s do an example. Along with this example, we will include both an algebraic and pictorial representation , using the area model of multiplication, of the process.

Example 4.3.2.

Let’s multiply \(348 \times 97\text{.}\) First, we write the numbers lined up by place value, but we are thinking of these numbers in expanded form: \((300 + 40 + 8) \times (90 + 7). \) Pictorially, we can view this as breaking up a rectangle with side lengths \(348\) and \(97\) units into sub rectangles where the side lengths are the terms in each expanded form.
Now, using distributivity, we calculate each partial product: since there are 3 terms in the first expanded form and 3 in the second, we will have \(3 \times 2 = 6\) partial products to calculate. We can start anywhere we like, but usually one starts by multiplying the bottom ones place by every place in the top number. Then, working right to left, we multiply the tens place by every place in the top number.
Algebraically, we can view this in the following way. Note that the order the terms will be first the "natural" order that one would do using distributivity, and then reordered (in fact reversed, as it’s usual to perform the algorithm from right to left and bottom to top) to match the partial products algorithm:
\begin{equation*} (300+ 40 + 8) \times (90+ 7) \end{equation*}
\begin{equation*} = 300 \times 90 + 300 \times 7 + 40 \times 90 + 40 \times 7 + 8 \times 90 + 8 \times 7 \end{equation*}
\begin{equation*} = 7 \times 8 + 7 \times 40 + 7 \times 300 + 90 \times 8 + 90 \times 40 + 90 \times 300 \end{equation*}
\begin{equation*} = 56 + 280 + 2100 + 720 + 3600 + 27,000 \end{equation*}
Pictorially, we can view this as "sub-areas" of each rectangle:
Finally, we sum the partial products together to get our final product. We’ll do this using the standard addition algorithm. Pictorially, we are adding all sub-areas together, and algebraically we are simply adding:
\begin{equation*} = 56 + 280 + 2100 + 720 + 3600 + 27,000 = 33756 \end{equation*}
Note that some people consider the pictorial representation of the partial products method its own algorithm as well. It’s sometimes called the grid method.

Subsection 4.3.3 Standard Multiplication Algorithm

The standard multiplication algorithm is, very likely, the method that you would have been taught how to multiply numbers in elementary school. It is very related to the partial products algorithm. The main difference is that we only expand one of our numbers, our "bottom number", into expanded form. For example, we would think of the multiplication \(348 \times 97\) as \(348 \times (90 + 8)\text{.}\) We can view this in our area model as only subdividing our rectangle in one direction:
Note that since multiplication is commutative, we know that \(348 \times 97 = 97 \times 348\text{.}\) However, the calculation will be different since we would be subdividing our rectangle in "the other direction" when we think of \(97 \times (300+40+8)\text{.}\) Indeed, we could use this as a "check" to make sure that we did the calculation correctly; both products should, of course, be the same:
Of course, multiplying a non-single-digit number (like \(348\)) by a single digit number isn’t as easy as multiplying two single digit numbers together. We will still multiply place by place, but instead of writing down each individual place multiplication calculation, we will do them all at once, and keep track of any regroupings by "carries" above the digits in our top number.
The algorithm for the standard algorithm is as follows:
  1. Write (or at least view in your head) one of the numbers in expanded form. Usually, this is done by writing the numbers so that the same place values are in the same column so that the expanded number is the bottom number. Start with the right-most digit in the bottom number.
  2. Starting from the right, write the number of zeroes associated to the place value of the current digit in the bottom number that you’re working with in the row below the previous one you’ve calculated, if any exist.
  3. Working from right to left, multiply the bottom digit by each digit in the top number, adding any regroupings from the previous multiplication if they exist. If the product is greater than 9, regroup the tens to the next place value by writing the number of tens over the digit to the left in the top number. Write down the ones digit of your calculation to the left of the previous digit you have written, if any exist.
  4. Once there are no more non-zero digits to the left in the top number, if there are non-zero digits to the left of your current digit in the bottom number, move one digit to the left in the bottom number and return to Step 2. If there are no non-zero numbers to the left, move on to the next step.
  5. Sum all partial products together (using, for example, the standard addition algorithm) to find the final product of the two numbers.
As usual, we compute the same example so we can see the commonalities and differences between algorithms. Also, we will have a pictorial representation alongside our calculation.

Example 4.3.3.

Let’s multiply \(348 \times 97\text{.}\) First, we write the numbers lined up by place value, but we are thinking of the bottom number in expanded form: \((349) \times (90 + 7). \) Pictorially, we can view this as breaking up a rectangle with side lengths \(348\) and \(97\) units into sub rectangles where the side length of \(97\) are the terms in the expanded form.
We start at the right hand side of the bottom number, with our aim being to calculate \(7 \times 348\text{.}\) Since that digit is in the ones place, we do not write down any zeroes yet. We multiply it by each digit in the top number and add any regroupings to the next place: \(7 \times 8 = 56\) so we write down the \(6\) and "carry" the \(5\) to the tens place.
Next, we multiply the our ones digit by the tens place, and add the regrouping: \(7 \times 4 + 5 =28 +5 = 33\text{.}\) We write down the \(3\) to the left of the \(6\) and carry the other three to the hundreds place.
Now, we multiply the hundreds place: \(7 \times 3 + 3 = 21+3=24\text{.}\) As there is no (non-zero) digit to the left, we write both digits down to the left of the \(3\text{.}\) Thus we have calculated \(7 \times 348 = 2436.\)
Now we move to the tens digit of the bottom number. Our aim is now to calculate \(90 \times 348\text{.}\) Since the \(9\) is in the tens place, we first write a \(0\) in the right-most spot (we know that \(90 \times 348 = 10 \times (9 \times 348)\) so this \(0\) signifies that we have taken out a factor of \(10\text{.}\))
We start with \(9 \times 8 = 72\text{.}\) So we write down the \(2\) and "carry" the \(7\) to the next place value. Note that this \(7\) actually signifies \(7\) hundreds since we are really calculating \(90 \times 8 = 720\text{.}\) Similar to the first digit of the bottom number, we have \(9 \times 4 + 7 = 43\) and \(9 \times 3 + 4 = 31\text{.}\) Thus we have calculated \(90 \times 348 = 31320\)
Now that we are out of non-zero digits in the bottom number, we simply add the two partial products we have calculated; that is, the two pieces of the rectangle we started with: \(2436+31320 = 33756\)
Note that our first partial sum is the same as the \(56+280+2100\) in the partial sum algorithm, and similarly \(31320 = 720 + 3600 + 27,000 \text{.}\) We can see this relationship in the diagram too

Subsection 4.3.4 Multiplication In Base Twelve

Look closely at the algorithms for multiplication. Is there anything about the steps in the algorithm that are applicable to only base ten? You should see that this isn’t the case. Since the ideas of an expanded form and distributivity occur in any base, we can use these algorithms to multiply in any base we like.
Just like addition and subtraction, there is nothing special about base ten that allows these multiplication algorithms to work. In base \(b\) multiplication by powers of \(10_b\) behaves the same way as in base ten. Also, we have the same notion of expanded form in any base we choose. The only thing that is different is our knowledge of multiplication of single digits. Just as in base ten, we could make a "times table" for each base. However, in the interest of time and space, we will only work in one base; base twelve. Multiplying in other bases would work the same, except for the multiplication table for single digit numbers, of course.
A quick reminder that in base twelve, we ony regroup when we have twelve of one place. We represent ten of a place by the symbol \(A\) and eleven of a place by the symbol \(B\text{.}\) Also, note that in this section we will assume all calculations are in base twelve, even if we do not note the base for each number; that is, for example, we’ll write \(3A \times 15\) to mean \(3A_{twelve} \times 15_{twelve}\text{.}\)
First, it makes sense to develop a multiplication table for base twelve. The most straightforward way is using repeated addition for multiplication. Let’s do one row/column, the 5’s, to illustrate the process. Here is a blank times table for every digit in base twelve; you can copy and fill in yourself:
By the property of multiplicative identity, we know that \(1 \times 5 = 5\) and we know that \(2 \times 5 = 5 + 5 = A\text{,}\) since we have ten ones (not enough to regroup). We can determine \(3 \times 5\) by adding \(5\) to \(2 \times 5\text{.}\) Thus we have \(3 \times 5 = 2 \times 5 +5 = A+5 = 13\text{.}\) We can input these into our times table in both the 5 row and 5 column since multiplication is commutative: \(5 \times n = n \times 5\) for any number \(n\text{.}\)
\(5\)
We can use the same idea for every other digit in base twelve to complete our entire multiplication table in base twelve for single digits. We’ll leave this as an exercise:

Checkpoint 4.3.4.

Now that we have our times table in base twelve, we can easily multiply any two numbers in base twelve that we want. Let’s do an example using the standard algorithm, though you could use the partial products algorithm (or any other algorithm) as well.

Example 4.3.5.

Let’s calculate \(6A0B \times 3B4\) using the standard algorithm. Let’s write the numbers aligned vertically by place value first:
Starting with the \(4\) in the ones place of the bottom number, we look at our times table to determine that \(4 \times B = 38\) so we write down the \(8\) and "carry" the \(3\text{.}\) Now moving to the next place in the top number, \(4 \times 0 + 3 =3\text{.}\) We write this down and we do not need to regroup. Next, \(4 \times A = 34\) so we write down the \(4\) and carry the \(3\text{.}\) Finally, \(4 \times 6+3 = 20+3 = 23\text{.}\) Thus \(6A0B \times 4 = 23438\text{.}\)
Now we move on to the longs place (that is, the twelves place). We put a \(0\) in the rightmost entry of that row and we multiply. For this partial sum we will not be as explicit with the calculation as the previous one. We have that \(B \times B =A1\text{,}\) \(B \times 0 +A =A\text{,}\) \(B \times A = 92\text{,}\) and \(B \times 6 + 9 = 63\text{.}\) Thus, \(6A0B \times B0 = 632A10\text{.}\)
Next, we move on to the squares place (that is, the one-hundred-forty-fours place, or "twelve squared place"). We put a \(0\) in the two rightmost entries of that row and we multiply. Using a similar method to above we get that \(6A0B \times 3 = 1862900\text{.}\) You should check that you obtain the same answer as this!
Finally, we sum all of our partial products. We have that \(23438+632A10+1862900 = 22B8B48\text{.}\)
As you can see, the idea is the exact same as in base ten, and we simply have to remember that we are operating in a different base.

Subsection 4.3.5 Russian Multiplication

The two algorithms we have learned so far are quite similar to each other. However, there are other algorithms that look quite a bit different to the ones that we have used. Let’s talk about one of these, sometimes called Russian multiplication or Ethiopian multiplication. It relies on the fact that multiplication by two and division by two are inverse operations; more exactly, \((a \div 2) \times (b \times 2) = a \times b\text{.}\) First we will describe the algorithm, then do an example, and then talk about why this algorithm works.
The algorithm for Russian multiplication is as follows:
  1. Write down both numbers side by side, with plenty of space below. Usually, the smaller of the two numbers is written on the left, but it doesn’t have to be. Note that this counts as a "row" in the algorithm below.
  2. Take the left number and divide it by two. If the result is not a whole number, round down to the nearest whole number. Write this number below the left number.
  3. Take the right number and multiply it by two. Write this number below the right number.
  4. If the number on the left is 1, go to the next step. Else, go to Step 2.
  5. Cross out all rows where the left number is even.
  6. Sum the right number of all remaining rows. This sum is the product of the two numbers that you started with.
If you haven’t seen this algorithm before, it may look a lot different than what you’re used to. Let’s do an example to make sure we understand it. We’ll use the same computation as the other algorithms.

Example 4.3.6.

Let’s multiply \(348 \times 97\text{.}\) Since \(97\) is the smaller number, we will write this on the left.
Now, we divide the left number by two. Since \(97 \div 2 = 48.5\text{,}\) we round down to \(48\) and write this number below the left number. Also, we multiply the right number by two and write this below the right number.
We continue this process until we get to 1 on the left side. Note that \(3 \div 2 = 1.5\) so we round down to \(1.\)
Now, we cross out all rows that contain an even number on the left. That are the rows with the left number being \(48, 24, 12,\) and \(6\text{.}\) This leaves the rows with the left number being \(97, 3,\) and \(1\text{.}\)
We now sum the right numbers of the remaining rows: \(348+11,136 + 22,272 = 33756.\)
Maybe surprisingly, we did get the product we expected, but using a calculation that is quite a bit different! Let’s now explore why this algorithm works. We will lead you through the exploration below. You definitely should try this exercise before looking at the solutions!

Checkpoint 4.3.7.

  1. As a warmup, draw some dots or an area diagram to convince yourself of the fact that \((a \div 2) \times (b \times 2) = a \times b\text{.}\) Start with \(a = 4\) and \(b=5\text{,}\) and then do a few other examples (for now, pick even numbers for \(a\)). What equivalent multiplication problem have you converted \(4 \times 5\) to? Explain why both diagrams have the same number of dots/same area.
  2. Now, complete the Russian algorithm with the problem \(8 \times 10\text{.}\) Draw a diagram for each step, and note that the only row with an odd left number is the last row. Cases where the left number is a power of \(2\) are the "easiest" cases to think about.
  3. Now, let’s try the calculation \(9 \times 10\text{.}\) In the second row, our left number is \(4\) since \(9 \div 2 = 4.5\) and we rounded down. Draw a diagram for both rows and describe how much is "missing" from the first row to the next. How does this relate to the calculation \(8 \times 10\text{?}\) Where is that number appear in your algorithm?
  4. Describe what is happening in general when you round down on the left hand side. When you round down, how can you keep track of that "missing" area in your calculation?
Solution 1.
For \(4 \times 5\) you should have a similar diagram to this:
One way of viewing this is that we are splitting our diagram in half and then adding the bottom half to the left hand side, thus turning this into the equivalent problem \(2 \times 10\text{.}\)
Solution 2.
You should have the following calculation and diagram:
In this case, we have converted the calculation \(8 \times 10\) to the equivalent calculations \(4 \times 20\text{,}\) \(2 \times 40\text{,}\) and \(1 \times 80\text{.}\) So \(8 \times 10 = 1 \times 80.\)
Solution 3.
Let’s look at what changes from \(9 \times 10\) to the next line \(4 \times 20\text{.}\) If we didn’t round down we would have \(4.5 \times 20.\) When we round down we are deleting area from our rectangle. We have \(0.5 \times 20\text{,}\) or equivalently \(1 \times 10\) less area than in the line above. And indeed, the amount of area we are deleting is the right-hand number of the line above. So we need to account for this missing area by adding it back in at the end.
After this line, the calculation is the same as \(8 \times 10\text{.}\) So we have the product being the right hand number of the final line \(1 \times 80\) plus the "missing" area, which is accounted for in the right hand number of the line \(9 \times 10\text{.}\) Thus \(9 \times 10 = 80+10 = 90.\)
Solution 4.
In general, any time we round down, we’re missing area equal to the right hand number of the line above. And since every time we rounded down we had an odd number on the left hand side above, we add the right hand number of those lines.

Notes for Additional Understanding.

Really, this algorithm relies on writing the left hand number in base two and then multiplying each place by the right hand number. Since
\begin{equation*} 97 = 1 \times 2^6 + 1 \times 2^5 + 0 \times 2^4 + 0 \times 2^3 + 0 \times 2^2 + 0 \times 2^1 + 1 \times 2^0\text{,} \end{equation*}
we could have viewed the calculation \(97 \times 348\) as (ignoring multiples of zero)
\begin{equation*} 2^6 \times 348 + 2^5 \times 348 + 2^0 \times 348 = 22,272 + 11,136 + 348 = 33756. \end{equation*}
Note the use of distributivity here too. So you can look at the Russian algorithm as like the standard algorithm, but instead in base two.

Subsection 4.3.6 Pros And Cons Of Multiplication Algorithms

We just discussed four different methods for multiplying. Which one is better? Is one always better? In the author’s opinion, there are pros and cons with each algorithm. We will discuss some of these now.

Subsubsection 4.3.6.1 PartialProductsAlgorithm

Pros:
  1. The idea of distribution of place value is very clear.
    Each multiplication step is one straightforward calculation that will only involve multiplication of powers of ten and multiplication of single digit numbers.
  2. We can use this algorithm to help students think about any distributive multiplication (like multiplying two polynomials, for example).
Cons:
  1. There could be a lot of partial products to sum. Indeed, if the first number has \(a\) digits and the second \(b\) digits, then we need to sum \(a \times b\) numbers.
  2. This algorithm takes up a significant amount of space on the page, especially if you have numbers with many digits.

Subsubsection 4.3.6.2 Grid Method

Pros:
  1. The distribution process over place value is highly visual. It is very apparent why the algorithm works the way it does.
  2. Each multiplication step is one straightforward calculation that will only involve multiplication of powers of ten and multiplication of single digit numbers.
  3. We can use this algorithm to help students think about any distributive multiplication (like multiplying two polynomials, for example).
Cons:
  1. The algorithm takes up a lot of space on the page, especially for numbers with many digits.
  2. There is no part of the page set aside to sum the partial products together, so it takes up even *more* room.
  3. Usually, the sub rectangles aren’t sized to scale, and thus it might confuse students about the size of place values.

Subsubsection 4.3.6.3 Standard Multiplication Algorithm

Pros:
  1. Doesn’t take up a lot of space. In fact, if the bottom number has \(a\) digits, it only requires \(a\) rows for the partial sums (and an additional \(a\) rows above for the "carries".)
  2. There is less adding than in the partial products and grid method algorithms.
  3. It’s the method that is most commonly known in North America, so it is easier to get help with this algorithm.
Cons:
  1. Each row of the algorithm is a fairly complex multiplication, involving carrying over to the next place value.
  2. The idea of place value isn’t as obvious in the top number, thus losing some of the idea of distributivity in the calculation.
  3. The algorithm isn’t easily adaptable to multiplying other objects (like polynomials)

Subsection 4.3.7 Russian Multiplication Algorithm

Pros:
  1. Relies on only being able to multiply and divide by one number (that is, of course, 2)
  2. The number of rows is quite small (indeed it’s the number of digits in the base two representation of the left number.)
  3. The number of additions is even smaller, as we sum only some of the rows.
Cons:
  1. It’s not a well known algorithm, so it will be hard for a student to get help with it
  2. The idea of place value and distributivity is quite buried in the algorithm.
  3. It cannot be used to multiply other objects (like polynomials)
  4. The number of rows to add together changes based on the base two representation, which isn’t obvious at first glance. For example, if \(129\) is the left number, you would need to add two numbers. However, if \(127\) is the left number, you would need to add seven numbers.

Checkpoint 4.3.8.

For each of the algorithms, list some other pros and cons for using them.