
Multiplying using halving, doubling and summing – part 2
This article is a follow-up to a previous article on multiplying by halving, doubling and adding. In this article I go through another way of approaching the same idea, that my wife showed me.
This article, like the previous one, will switch between Roman numerals and Arabic numerals. I learned this on a counting cloth marked up in Roman numerals, but I’ll start in Arabic numerals and switch to Roman at the end.
What are we trying to do?
In Arabic numerals, we’re trying to do a sum such as 27 x 53. However, instead of using long multiplication as you have probably been taught, all we will use is:
- Halving
- Doubling
- Subtracting
- Adding
As in normal long multiplication, there will be a series of steps to follow. Each step might produce a partial answer, and at the end we add up these partial answers to get the final answer.
Rules and an example
We’re multiplying 2 numbers, which I will call A and B. There are 3 simple rules. To calculate A * B:
- If A=1, the answer is B
- If A is odd (and not 1), that means A = 1 + E, where E is the even number just smaller than A. We will treat A * B as (1 + E) * B, which is the same as (1 * B) + (E * B). The answer is therefore B + (E * B), which we calculate by following the rules again.
- If A is even, that means A = 2 * N, where N is some number smaller than A. We will treat A * B as (2 * N) * B, which is the same as N * (2 * B). We calculate this by following the rules again.
This probably looks quite complicated, but I hope it will appear simpler with an example: 13 * 11.
13 * 11 | The sum we’re trying to calculate |
13 * 11 = (1 + 12) * 11 = (1 * 11) + (12 * 11) = 11 + (12 * 11) | Split up the odd number 13 into 1 and 12 using rule 2 |
11 + (12 * 11) = 11 + ((2 * 6) * 11) = 11 + (6 * (2 * 11)) = 11 + (6 * 22) | Halve the even number 12 to get 6 using rule 3 |
11 + (6 * 22) = 11 + ((2 * 3) * 22) = 11 + (3 * (2 * 22)) = 11 + (3 * 44) | Halve the even number 6 to get 3 using rule 3 |
11 + (3 * 44) = 11 + ((1 + 2) * 44) = 11 + ((1 * 44) + (2 * 44)) = 11 + (44 + (2 * 44)) | Split up the odd number 3 into 1 and 2 using rule 2 |
11 + (44 + ((1 * 2) * 44)) = 11 + (44 + (1 * (2 * 44))) = 11 + (44 + (1 * 88)) | Halve the even number 2 to get 1 using rule 3 |
11 + (44 + (88)) | Stop when A is 1, using rule 1 |
11 + 44 + 88 = 143 | The answer |
The same sum in diagrams
I’ll now show the same sum, 13 * 11, using some diagrams. We will transform a rectangle in two possible ways:
- If the rectangle’s height is an odd number, slice off a strip that’s 1 unit tall, leaving the rest to have a height that’s an even number.
- If the rectangle’s height is an even number, cut it in half from side to side and shuffle the bottom half up to the right, so we end up with a rectangle that’s half the height and double the width of the previous rectangle.
We start with 13 * 11:

As the rectangle’s height is odd (13) this will be split into 2 rectangles – a strip 1 unit tall and a main part that’s 12 tall:

We will leave the strip alone and look at the main rectangle. Its height is 12 – an even number – so we will turn it into a rectangle half as tall and twice as wide:

The rectangle we’ve just changed has a new height (6) which is also an even number. We can make this half as tall and twice as wide:

The new rectangle has an odd height (3), so we cut off a strip that’s 1 unit tall to leave another part that’s 2 tall:

We now have 2 strips – 1 that’s 11 wide and 1 that’s 44 wide. The third rectangle has an even height (2), so we will make it half as tall and twice as wide:

Now all the rectangles are strips, but with different widths – 11, 44 and 88. If we lay these strips next to each other, the total width is 11 + 44 + 88 = 143.
The hidden binary behind all this
In the previous article I showed how its approach worked by linking it back to binary. I’ll do the same here.
You are probably so comfortable with numbers in base 10 that you forget that 13 means:
1 * 10 +
3 * 1.
If we have the number 1234 that means:
1 * 1000 +
2 * 100 +
3 * 10 +
4 * 1.
When we’re working binary it’s the same principle but instead of the columns standing for powers of 10 (1, 10, 100 etc.) they stand for powers of 2 (1, 2, 4, 8 etc.). To express the number 13 in binary it’s:
1 * 8 +
1 * 4 +
0 * 2 +
1 * 1
which is normally written as 1101.
If we look at the partial answers in the previous section, they are:
88 +
44 +
11.
If we express those in terms of multiples of the original number (11), they are:
1 * 8 * 11 +
1 * 4 * 11 +
0 * 2 * 11 +
1 * 1 * 11.
The 2 * 11 term was always there but hidden because it’s multiplied by 0. I hope you can see the link between the bold part of this list and the earlier list that shows how 13 is expressed in binary.
On a counting cloth in Roman numerals
I’ll do the same example one more time, but using diagrams that represent a counting cloth marked up in Roman numerals.
We start with 13 on the left in blue counters and 11 on the right in purple counters. We will only have 1 number in blue, which will get smaller as we work. We will have several purple numbers, but we only need to worry about the left-most one (which is shaded in grey to make it more obvious) until we add things up at the end.

As 13 is an odd number, we take a copy of the working number on the right (11) and reduce 13 by 1 to 12:

12 is an even number, so we halve it and double the working number on the right (11, to make 22). Note that we double only the working number, and not any numbers to its right:

6 on the left is an even number, so we halve it and double the working number on the right (22, to make 44):

3 is an odd number, so we take a copy of the working number on the right (44) and reduce 3 by 1 to 2:

2 is an even number, so we halve it and double the working number on the right (44, to make 88).

The number on the left is 1 so we stop. We then add up all the numbers on the right:

The answer is C XXXX III (or 143 in Arabic numerals).
Summing up
I really like this and the previous article, because they show several ways of looking at the same thing. Also, the rules above are an example of recursion – you solve a problem (multiplying 2 numbers) by combining solutions to smaller versions of the problem (multiplying, where 1 of the numbers has got smaller). As there’s a terminating case (a rule that says when to stop) – when the number that’s getting smaller is 1 – then this is safe to use for any numbers greater than 0.