Peasant Multiplication |

How would you like to throw away all those hard "times tables" and still be able to multpliy any two numbers? Well, have I got news for you! It's possible. No, really. I'm not joking; nor am I saying "just go punch some calculator buttons" either. Real paper-and-pencil stuff. Only one thing you gotta know: your "2 times tables". Or to be even more specific: know how to double a number (which means "multiply by 2) and cut a number "in half" (which just means "divide by 2").

But, that's all. If you can do these two simple things, and of course, can add numbers, you're "in business". The name of the process, as you have undoubtedly guessed, is **Russian Peasant Multiplication**, a method quite common down through the centuries.

Here's how it works for the numbers **22 × 35**. You begin by writing the numbers side-by-side.

Then you start "halving" one number while at the same time you "double" the other. Our first results are these:

22 35

We continue the process until the column in which we are halving reaches the number 1. Also, one other little thing must be observed: when we take the half of an odd number, there is naturally a "remainder of 1"; so we just discard it, throw it away, toss it in the ol' trash basket. And go on with our process as if nothing important had happened. Just such a need arises on our next step in our problem, with 11, then again with the 5.

22 35 11 70

Now, if you have studied the Egyptian method of multiplication on another page in this website, you might assume that here again we will select certain numbers from the second column to add, the result of which will be our desired product. That's right, but which ones are they? The answer: the ones that are opposite odd numbers on the left!!

22 35 11 70 5 140 2 280 1 560

So

22 35 11 70 5 140 2 280 1 560

If we use the **Commutative Property of Multiplication**, we can work it "the other way around", to compare and check results.

And again

35 22 17 44 8 88 4 176 2 352 1 704

Perhaps you are wondering why this strange process works. Here is part of an explanation. Note:

The parentheses that contain a blue number correspond to the numbers that were added to give the product, which in their turn were chosen because they were opposite an odd number in the first column. And they just happen to add up to

22 35 (1 group of 35) 11 70 (2 groups of 35) 5 140 (4 groups of 35) 2 280 (8 groups of 35) 1 560 (16 groups of 35)

So now we can say:
**
(2 × 35) + (4 × 35) + (16 × 35)
= (2 + 4 + 16) × 35
= 22 × 35
= 770
**

Try some more instances of this marvelous procedure and you will soon be convinced of an interesting and historical aspect of mathematics.

We received the following email from Poul Wulff Pedersen, from Denmark, who wishes to add some relevant information to this topic. He wrote:

I saw it many years ago in a Schaum Outline book about Numerical Analysis - and have wondered since if any russian peasant has ever used it. But it seems to have been known in other cultures as well.Unfortunately I don't understand your "part of an explanation" - but actually it is quite simple: If you compute 22 (in your example) in binary form you get

22 = 10110 = 2 ^{4}+ 2^{2}+ 2^{1}Thus

22*35 = (2 ^{4}+ 2^{2}+ 2^{1})*35 = 560 + 140 + 70which are just the multiplies [

sic.] picked out by the algorithm.Another algorithm for multiplication is

a*b = (1/4)*((a + b)^{2}- (a - b)^{2})where the multiplication is replaced by two squares. Squares are easy in binary and - more important - if you use table-look-up for speed you need only a one-dimensional table for squares instead of the two-dimensional multiplication of our school days (a long time ago !). The 1/4 can (with a little skill) be absorbed in the two squares so that you only need the same number of bits for a+b as for a and b. [WTM note: see Multiplication with Squares in this website.]

A third trick in binary is the Booth algorithm which replaces a string of ones by one 1 and a (-1),

11111 = 10000[-1] so that the additions and shifts corresponding to 11111 is replaced by a shift and one subtraction. The "anti-Booth" is useful for binary subtraction by hand.

To learn more about this topic, click HERE.

Comments? Send e-mail. | Back to top | Go back to Home Page | Go back to Contents |