4.2: Embracing Diversity of Algorithms for Addition and Subtraction
- Page ID
- 183512
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\( \newcommand{\dsum}{\displaystyle\sum\limits} \)
\( \newcommand{\dint}{\displaystyle\int\limits} \)
\( \newcommand{\dlim}{\displaystyle\lim\limits} \)
\( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)
( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\id}{\mathrm{id}}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\kernel}{\mathrm{null}\,}\)
\( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\)
\( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\)
\( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)
\( \newcommand{\vectorA}[1]{\vec{#1}} % arrow\)
\( \newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow\)
\( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vectorC}[1]{\textbf{#1}} \)
\( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)
\( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)
\( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\(\newcommand{\longvect}{\overrightarrow}\)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\(\newcommand{\ket}[1]{\left| #1 \right>}\)
\(\newcommand{\bra}[1]{\left< #1 \right|}\)
\(\newcommand{\braket}[2]{\left< #1 \vphantom{#2} \right| \left. #2 \vphantom{#1} \right>}\)
\(\newcommand{\braopket}[3]{\left< #1 \vphantom{#2}\vphantom{#3} \right| #2 \vphantom{#1}\vphantom{#3} \left| #3 \vphantom{#1}\vphantom{#2} \right>}\)
\(\newcommand{\qmvec}[1]{\mathbf{\vec{#1}}}\)
\(\newcommand{\op}[1]{\hat{\mathbf{#1}}}\)
\(\newcommand{\expect}[1]{\langle #1 \rangle}\)
\(\newcommand{\dfn}[1]{\emph{\textbf{#1}}}\)
As we transition from exploring mental math strategies and the use of calculators, we now turn our attention to written methods for addition and subtraction—commonly known as algorithms. It’s important to recognize that there is no single, universally adopted algorithm for these operations. In fact, classrooms and cultures around the world use a variety of methods, each with its own strengths and historical roots. As a future teacher, your role is not only to understand the commonly taught algorithms but also to appreciate the diversity of strategies students may bring or develop on their own. A student's invented method, when accurate and consistent, can be a powerful demonstration of mathematical reasoning and ownership. This chapter invites you to explore multiple algorithms for addition and subtraction, including some with historical significance and others designed to deepen conceptual understanding. You’ll learn to apply these algorithms in both Base Ten and alternative number systems. More importantly, you’ll reflect on how to create a learning environment that celebrates multiple solution paths, fosters mathematical thinking, and empowers students to see themselves as capable, creative problem solvers.
The DOT METHOD for adding columns of single digits
Here is a method for adding several digits together without having to keep a large running total in your head. The idea is that you only add two single digits together at a time. Any time you add and get a number over 9, you put down a dot and only keep the unit's digit in your memory. The dot stands for the ten. For instance, since 6 + 7 = 13 (which is 10 + 3), you write a dot and think 3. Think 6 + 7 = Dot 3. In the example below, to add eight numbers together, a common approach would be to add the first two digits together, then keep adding on the next digit until all eight digits have been added. In other words, someone might think: 6 + 7 is 13, 13 + 8 is 21, 21 + 3 is 24, 24 + 5 is 29, 29 + 9 is 38, 38 + 4 is 42 and 42 + 7 is 49. Although this yields the correct answer, it's easy to lose track along the way. With the DOT METHOD shown, a dot is placed by a number if after it is added on, the sum is ten or more. At each step of the way, I've written in parentheses what number you think of after adding each digit. To start, see the eight digits to be added. Step 1: 6 + 7 = 13 so write a dot and think 3; Step 2: 3 + 8 = 11 so write a dot and think 1; Step 3: 1 + 3 = 4 so think 4; Step 4: 4 + 5 =9 so think 9; Step 5: 9 + 9 = 18 so write a dot and think 8; Step 6: 8 + 4 = 12 so write a dot and think 2; Step 7: 2 + 7 = 9 so write a 9 under the bar since all digits have been added. Count the dots (4), which stands for how many tens (40) and write in front of the 9. The answer is 49. Try it on your own now!
| Start \[ \begin{aligned} 6 \\ 7\\ 8 \\ 3 \\ 5\\ 9 \\ 4 \\ \underline{+ 7} \end{aligned} \nonumber \] | Step 1 \[ \begin{aligned} 6 \\ 7 &\cdot (3)\\ 8 \\ 3 \\ 5\\ 9 \\ 4 \\ \underline{+ 7} \end{aligned} \nonumber \] | Step 2 \[ \begin{aligned} 6 \\ 7 &\cdot\\ 8 &\cdot (1)\\ 3 \\ 5\\ 9 \\ 4 \\ \underline{+ 7} \end{aligned} \nonumber \] | Step 3 \[ \begin{aligned} 6 \\ 7 &\cdot\\ 8 &\cdot\\ 3 &\ (4) \\ 5\\ 9 \\ 4 \\ \underline{+ 7} \end{aligned} \nonumber \] | Step 4 \[ \begin{aligned} 6 \\ 7 &\cdot\\ 8 &\cdot\\ 3 \\ 5 &\ (9) \\ 9 \\ 4 \\ \underline{+ 7} \end{aligned} \nonumber \] | Step 5 \[ \begin{aligned} 6 \\ 7 &\cdot\\ 8 &\cdot\\ 3 \\ 5\\ 9 &\cdot (8) \\ 4 \\ \underline{+ 7} \end{aligned} \nonumber \] | Step 6 \[ \begin{aligned} 6 \\ 7 &\cdot\\ 8 &\cdot\\ 3 \\ 5\\ 9 &\cdot \\ 4 &\cdot (2)\\ \underline{+ 7} \end{aligned} \nonumber \] | Step 7 \[ \begin{aligned} 6 \\ 7 &\cdot\\ 8 &\cdot\\ 3 \\ 5\\ 9 &\cdot \\ 4 &\cdot\\ + 7 &\ (9) \\ \hline 49 \end{aligned} \nonumber \] |
| \[ \begin{aligned} \\ 7 &\cdot\\ 8 &\cdot\\ 3 \\ 5\\ 9 &\cdot \\ 4 &\cdot\\ \underline{+ 7 } \\ 49 \end{aligned} \nonumber \] |
In the example just shown on the previous page, every single step, including what you think is shown. In reality, this is a quick algorithm and if you looked at the problem after someone did it, the work on the left is all you would see. To the right are are two more examples. Actually, each is the same sum of numbers written in a different order, which is another way to check addition! A quick check when adding only two numbers is to reverse the order and add again.
| \[ \begin{aligned} 3 \\ 9 &\cdot\\ 6 \\ 5 &\cdot\\ 4 \\ 7 &\cdot \\ 7 &\cdot\\ \underline{+ 8 } \\ 49 \end{aligned} \nonumber \] | \[ \begin{aligned} 6 \\ 3\\ 7 &\cdot\\ 9 &\cdot\\ 7 &\cdot \\ 5 \\ 8 &\cdot\\ \underline{+ 4 } \\ 49 \end{aligned} \nonumber \] |
Wonder, Play, Grow
Use the dot method to add the following columns of digits shown below.
| \[ \begin{aligned} 3 \\ 9 \\4 \\5\\2\\6\\8\\6\\ \underline{+ 7} \end{aligned} \nonumber \] | \[ \begin{aligned} 6 \\ 7 \\ 9\\3\\5\\8\\2\\2\\ \underline{+ 9} \end{aligned} \nonumber \] | \[ \begin{aligned} 2\\9\\6\\4\\2\\5\\7\\9\\ \underline{+ 3} \end{aligned} \nonumber \] | \[ \begin{aligned} 5\\8\\7\\6\\3\\9\\2\\5\\ \underline{+ 7} \end{aligned} \nonumber \] |
By the way, you could put the dots to the left or right of the digit, do whatever is most comfortable for you. If you are adding without paper and pencil, use your fingers to keep track of the dots! Instead of writing a dot, put up a finger.
What is the beauty of this method?
The dot method could also be used to add several digits written in a horizontal format. The dots could be placed over the numerals. Try it on the following problems.
| a. 7 + 6 + 4 + 5 + 9 + 6 + 8 + 3 + 4 + 9 + 8 = ____ |
| b. 4 + 9 + 6 + 2 + 9 + 7 + 7 + 6 + 8 + 4 + 8 = ____ |
| c. 7 + 9 + 8 + 5 + 9 + 4 + 2 + 6 + 9 + 8 + 7 = ____ |
Standard Addition Algorithm
The most common addition algorithm is the Right To Left Standard Addition Algorithm, often referred to as the Standard Addition Algorithm. This is the one almost everyone grew up learning. You start on the right and add the digits. The unit's digit is put down under the line and the ten's digit is carried to the top of the next column to the left. Get out your Base Ten Blocks now to understand what is really going on.
Consider the addition problem 246 + 178. From our knowledge of place value, we know that 246 is 2(100) + 4(10) + 6(1) (or 200 + 40 + 6) and 178 is 1(100) + 7(10) + 8(1) (or 100 + 70 + 8). Using Base Ten blocks, 246 would be represented with 2 flats, 4 longs and 6 units whereas 178 would be represented with 1 flat, 7 longs and 8 units. So, the addition problem can be thought of in the following way:
Using Base Blocks
\[\begin{aligned} 2 \text{ flat(s) } + 4 \text{ long(s) } +6 \text{ unit(s) } \\
\underline{+ 1 \text{ flat(s) } + 7 \text{ long(s) } + 8 \text{ unit(s) }} \end{aligned} \nonumber \]
This addition problem using blocks is shown below:

Online Resource Base 10 Blocks
If we add, we get:
\[\begin{aligned} 2 \text{ flat(s) } + 4 \text{ long(s) } +6 \text{ unit(s) } \\
\underline{+ 1 \text{ flat(s) } + 7 \text{ long(s) } + 8 \text{ unit(s) }} \\ 3 \text{ flat(s) } +11 \text{ long(s) } +14 \text{ unit(s) } \end{aligned} \nonumber \]
Trades can now be made. Ten of the 14 units can be exchanged for a long. That leaves us with 3 flats, 12 longs and 4 units. The sum and trades are illustrated with blocks on the next page.
After trading, sum = 3 flat(s) + 12 long(s) + 4 unit(s)
After combining the blocks, the sum is shown below.

The next step is to trade in ten units for a long. I've put a box around the units to be traded above. This yields 3 flats, 12 longs and 4 units as shown below.

Now ten of the 12 longs can be exchanged for a flat. I've put a box around ten of the longs to be traded above. After the exchange, the sum is 4 flats, 2 longs and 4 units, which is 424. This is illustrated below.

After making all traded, the final sum = 4 flat(s) + 2 long(s) + 4 unit(s)
We're in Base Ten, so the answer is 424. Therefore, 246 + 178 = 424.

In the previous example of adding 246 + 178 using the Base Blocks, ten longs could have been exchanged for a flat at the same time that ten units were exchanged for a long. I only did one trade at a time because in the Standard Addition Algorithm, we don't combine all the blocks (or place values) at once. First, the units are added together to get 14. The 4 is written down in the unit's column and the other 10 units are written as 1 long in the next column to signify that there is another long. Now, there are 1 + 4 + 7 longs to add up, which is 12. The 2 is written down in the longs column and the other 10 units are written as 1 flat in the next column to signify that there is another flat. Finally, there are 1 + 2 + 1 flats to add up, which is 4. So the sum is 4 flats, 2 longs and 4 units, which is 424. The exchanges being made is what carrying is all about. To the right is another way of keeping track of blocks, flats, longs and units. Notice the trades being made at each step. If the largest addend has x digits, I make x + 1 columns to allow for carrying. In this problem, there are three digits for each addend, so I made four columns to allow for a possible block being made.
Add the following using the Standard Algorithm.
a) 28 + 45
b) 324 + 78
- Answer
-
a) Ones place: 8 + 5 = 13 → write 3, carry over 1 Tens place: 2 + 4 = 6, plus 1 carried over = 7
1 ← carry-over
28
+ 45
_____
73b) Ones place: 4 + 8 = 12 → write 2, carry over 1 Tens place: 2 + 7 = 9, plus 1 carried over = 10 → write 0, carry over 1 Hundreds place: 3 + 1 = 4
1 1 ← carry-overs
324
+ 78
______
402
Why does such a procedure work? Why ”carry” the ”1”? Why add by columns? To many people, these procedures remain a great mystery-we add this way because we were told to-it’s simply done by rote with no understanding. Children in general learn abstract notions by first experiencing them concretely with devices they can actually see, touch, and manipulate. The use of concrete teaching aids-such as base-ten blocks-helps provide insight into the creation of the standard algorithm for addition. Online Resource Base 10 Blocks
Another way to add is by using expanded notation. Our first example, 246 + 178, can be written as (200 + 40 + 6) + (100 + 70 + 8). Using the commutative and associative properties, this sum can be written as (200 + 100) + (40 + 70) + (6 + 8) or 300 + 110 + 14 = 300 + (100 + 10) + (10 + 4) = (300 + 100) + (10 + 10) + 4 = 400 + 20 + 4 = 424. When written out like this, it is perhaps more clear what is really being added as opposed to doing it by rote without thinking about the place value of each digit.
Add by using expanded notation. Show all steps.
a) 43 + 47
b) 288 + 524
- Answer
-
a) Add tens and ones separately Tens: 40 + 40 = 80, Ones: 3 + 7 = 10, Add the partial sums 80 + 10 = 90
b) Add hundred, tens and ones separately Hundreds: 200 + 500 = 700, Tens: 80 + 50 = 130, Ones: 8 + 4 = 12, Add the partial sums 700 + 130 + 12 = 842
Wonder, Play, Grow (Intermediate Algorithm - Partial Sums)
Suppose two different students add two numbers together as shown in the two problems to the right. Both have very similar methods. Explain what each student is doing and why it makes sense. Then, make up two more problems and add using one of these methods.
| \(\begin{aligned}859 \\ \underline{+ 467} \\ 16 \\ 110 \\ \underline{+ 1200} \\ 1326 \end{aligned}\) | \(\begin{aligned}859 \\ \underline{+ 467} \\ 1200 \\ 110 \\ \underline{+ 16} \\ 1326 \end{aligned}\) |
🧠Let's Listen to Learn❤️
The methods outlined in the Wonder, Play, Grow are known as the Intermediate Algorithm. The intermediate algorithm for addition is a method that bridges conceptual understanding (like expanded form or base-ten models) and the standard algorithm. It emphasizes place value and partial sums, making it easier for students to understand why addition works, not just how to do it. See the video below to see more examples of the intermediae algorithm.
Below is another addition algorithm, called the Lattice Method for Addition, used for adding two numbers together. First, add down the columns, then down the diagonals. The addition problem is 568 + 457 and the answer is 1,025. See if you can understand how to do it and understand why it works. We'll use the lattice method again when we do multiplication.

Use the lattice method to compute 628 + 456. Show your work.
- Answer
-

Use the method of your choice to compute the following:
| a) \(412_{\text{5}} + 23_{\text{5}}\) | b) \(1011_{\text{2}} + 101_{\text{2}}\) |
| c) \(4104_{\text{5}} + 432_{\text{5}}\) | d) \(11001_{\text{2}} + 1101_{\text{2}}\) |
- Answer
-
a) 4405 b) 100002 c) 100415 d) 1001102
Standard Algorithm:

🧠Let's Listen to Learn❤️
Standard Algorithm for Substraction
The most common subtraction algorithm is the Right to Left Standard Subtraction Algorithm, which is where you start in the ones column and subtract, then move to the left and subtract at each column. The problem, of course, is when the top digit is less than the bottom digit and you have to regroup. Get out your Base Ten blocks now to see what is really going on.
Consider the subtraction problem 425 –158. From our knowledge of place value, we know that 425 is is 4 \(\times\) 100 + 2 \(\times\) 10 + 5 (or 400 + 20 + 5) and 158 is 1 \(\times\) 100 + 5 \(\times\) 10 + 8 (or 100 + 50 + 8). Using Base Ten blocks, 425 would be represented with 4 flats, 2 longs and 5 units whereas 158 would be represented with 1 flat, 5 longs and 8 units. So, the subtraction problem can be thought of in the following way:
Using Base Blocks \[\begin{aligned} (4 \text{ flat(s) } + 2 \text{ long(s) } + 5 \text{ unit(s) }) \\ \underline{– (1 \text{ flat(s) } + 5 \text{ long(s) } + 8 \text{ unit(s) })} \end{aligned} \nonumber \]
Using blocks, the subtraction problem is shown below:
We can't subtract 8 units from 5 units, so a long is exchanged (sometimes know as "borrowing") for a ten units, which gives 4 flats, 1 long and 15 units in the minuend. Now, we also can't subtract 5 longs from 1 long, so 1 flat is exchanged ("borrowed") for ten longs, which gives 3 flats, 11 longs and 15 units in the minuend. Now we can subtract at each column, which is shown on the next page. You can use either the take away approach or the missing addends approach to subtract. Use your base blocks to work through these problems.
Using Base Blocks \[\begin{aligned} &(3 \text{ flat(s) } + 11 \text{ long(s) } + 15 \text{ unit(s)}) \\ -& (1 \text{ flat(s) } + 5 \text{ long(s) } + 8 \text{ unit(s)}) \\ \hdashline &2 \text{ flat(s) } + 6 \text{ long(s) } + 7 \text{ unit(s)}) = \underline{267} \end{aligned} \nonumber \]
The subtraction problem using blocks is shown below:
Since we are working in Base Ten, the answer (difference) is 267. So, 425 –158 = 267.
The problem can be worked using a chart where enough space is left between the minuend and subtrahend so exchanges can be made in the minuend. Notice the steps shown if you work this problem using a Base chart as shown below.
The traditional, standard subtraction algorithm is not necessarily the best one and there are many other ones you'll be learning in the rest of this Exercise Set.
The next algorithm was taught to many people before the "new math" and so I call it the Oldtimer's Algorithm. It's similar to the Standard Algorithm in that you start on the right and move to the left. But you don't regroup (formally known as borrowing). First look again at an example of using the Standard Algorithm to subtract 95 – 28. Since, you can't subtract 8 from 5, you regroup from the 9 by crossing out the 9 and writing 8 so you can put a 1 in front of the 2. Now, in the unit's column, 15 – 8 = 7 and in the ten's column, 8 – 2 = 6. The answer is 67. This new method starts out the same way. You can't subtract 8 from 5, but instead of regrouping from the 9, you add a 1 to the number under the 9, and put a 1 in front of the 5. Notice that in the unit's column, 15 – 8 = 7 and in the ten's column, instead of 8 –2, you have 9 –3 which is the same answer of 6. The advantage of this method is if you put a 1 at the top of one column, you compensate by adding a 1 to the bottom of the next column. You don't have to worry about crossing things off and making a mess and you don't have to think about the digit in the column to the left until you go to that column to subtract – no trying to regroup and getting hung up there! Look at the two methods side by side. If you use the new method, you have to leave space between the subtrahend and subtraction bar in case you need to put a 1 there.
Subtract the following using the Standard Algorithm and Oldtimer's Algorithm. Check your answers by adding up.
a) \(\begin{aligned} 314 \\ \underline{-221} \end{aligned}\)
b) \(\begin{aligned} 5 0 3 6 \\ \underline{-3 4 1 8} \end{aligned}\)
- Answer
-
a) 93
b) 1618

🧠Let's Listen to Learn❤️
| \(\begin{aligned} 402_{\text{five}} \\ \underline{-233_{\text{five}}} \end{aligned}\) |
| \(\begin{aligned} 1010_{\text{two}} \\ \underline{-111_{\text{two}}} \end{aligned}\) |
Check: \(\begin{aligned} 114_{\text{5}} \\ \underline{+233_{\text{5}}} \\ 402_{\text{5}} \end{aligned}\)
Check: \(\begin{aligned} 11_{\text{2}} \\ \underline{+111_{\text{2}}} \\ 1010_{\text{2}} \end{aligned}\)
In the sample problems above, when I needed to make an exchange and there was a zero in the place value to the left, the exchange had to be made at a higher place value first. Then, exchanges are made down the line until you can subtract. This case happens in Base Ten all the time when you subtract a number from 100, 1000, 10000, etc. Most people just start crossing off each zero and putting 9's above them out of habit, without having any idea why they are doing it. To subtract 235 from 1000, first you should cross off the 1, put a zero above it and put a 1 in front of the zero in the hundred's place (which is trading in 1000 for 10 hundreds), then you should cross off that 10 in the hundred's place, put a 9 above it and put a 1 in front of the zero in the ten's place (which is exchanging 10 hundreds for 9 hundreds and 10 tens), then you should cross off that 10, put a 9 above it and a 1 in front of the zero in the one's place (which is exchanging 10 tens for 9 tens and 10 ones). Then, you can subtract as shown in the example to the right. It's important to really understand what's going on here because children usually have a very hard time when there is a zero to cross off.

Use the different methods to compute the following:
| a) \(412_{\text{5}} - 23_{\text{5}}\) | b) \(1011_{\text{2}} - 101_{\text{2}}\) |
| c) \(4104_{\text{5}} - 432_{\text{5}}\) | d) \(11001_{\text{2}} - 1101_{\text{2}}\) |
- Answer
-
a) 3345 b) 1102 c) 31225 d) 11002

https://youtu.be/Sq3VrltjdkI?si=1vMFtjr-SMcMt0DN
https://youtu.be/Fj20yMuvOjE?si=3s5BdTA_iwwesuFL
After viewing the videos from Math Educator Dr. Howie Hua, use one or more of his techniques to solve the following:
i) 123 - 45
ii) 1000 - 235
Then share with someone what you did. :)

