Three worked examples
These examples are calculated by the same engine as the tool. Expand a solution to follow every step.
Calculate 23 × 14.
- Start with 23 and 14.
- 23 | 14: keep this odd row.
- 11 | 28: keep this odd row.
- 5 | 56: keep this odd row.
- 2 | 112: discard this even row.
- 1 | 224: keep this odd row.
- Add kept right-hand values: 322.
Answer: 322
Calculate 47 × 32.
- Start with 47 and 32.
- 47 | 32: keep this odd row.
- 23 | 64: keep this odd row.
- 11 | 128: keep this odd row.
- 5 | 256: keep this odd row.
- 2 | 512: discard this even row.
- 1 | 1024: keep this odd row.
- Add kept right-hand values: 1504.
Answer: 1504
Calculate 68 × 25.
- Start with 68 and 25.
- 68 | 25: discard this even row.
- 34 | 50: discard this even row.
- 17 | 100: keep this odd row.
- 8 | 200: discard this even row.
- 4 | 400: discard this even row.
- 2 | 800: discard this even row.
- 1 | 1600: keep this odd row.
- Add kept right-hand values: 1700.
Answer: 1700
Use the name without inventing an origin story
Russian peasant multiplication is a familiar teaching name for a halving-and-doubling algorithm. The University of Iowa’s computer-science notes discuss it alongside binary multiplication and describe Egyptian and Russian labels as folk origins. The name alone does not establish a precise place, date, or inventor, so this lesson makes no exclusive Russian-origin claim. [1]
Binary shifts connect this procedure to modern computing. The visible modern-number table lets you inspect which rows contribute without knowing machine language or trusting an unexplained crossing-out rule.
Set up the two columns
Choose one factor for halving and the other for doubling. Both must be whole numbers from zero through 999. The product may exceed that input limit. Swapping the factors keeps the product but can change the number of rows.
Begin with the original factors on the first row. For each new row, replace the halved-column value by its whole-number half and double the other value. When halving an odd positive number, discard the fractional part. This means floor division for these nonnegative inputs, rather than rounding to the nearest integer.
Decide which rows to keep
Inspect parity in the column being halved. If its current value is odd, keep that row’s value from the doubling column. If it is even, discard that row’s doubling value from the final sum. Do not test the doubled value’s parity: it quickly becomes even regardless of which rows should contribute.
Continue until the halved value reaches one, include its doubled partner because one is odd, and stop. An implementation can equivalently continue to zero and then stop without adding a zero row. With a zero factor, the product is zero; the tool’s zero handling is a boundary case, not a reason to invent a final nonzero row.
Why an even row contributes nothing separately
Let the current row contain h and d, and let S be the sum already kept. The quantity S + hd equals the original product. If h is even, write h = 2q. Replacing the row by q and 2d keeps hd unchanged, so S needs no additional contribution. That is the mathematical reason an even row is discarded.
If h is odd, write h = 2q + 1. Then hd = q(2d) + d. Add d to S before proceeding to q and 2d. The extra term accounts for what integer halving would otherwise lose. University of Northern Iowa’s teaching discussion presents this invariant-based interpretation; the parameters here expose it without relying on a particular numerical example. [2]
See the binary structure
Every halving step produces a remainder of zero or one. Starting with the least significant position, those remainders are the binary digits of the halved factor. An odd row corresponds to a one digit and an even row to a zero digit. The doubling column provides the original second factor multiplied by successive powers of two.
Selecting the odd rows therefore distributes multiplication across the binary expansion of the first factor. This explains why dropping an odd-row fraction does not lose information once its partner has been added. It also connects this method with Egyptian-style doubling and row selection, while leaving the historical relationship between specific practices as a separate question.
Verify the table and choose an efficient setup
Check neighbouring rows before adding: the first column should use whole-number halving, and the second should exactly double. Then verify that every odd row is included once and every even row excluded. A row-generation mistake can affect several later entries, so correcting only the final sum may hide the real source of an error.
For a shorter table, halve the smaller positive factor; each halving reduces its magnitude quickly. Then check the product with long multiplication or a calculator and explain why the same answer results. The method needs only parity checks, halving, doubling, and addition, but that does not guarantee it is fastest for every person or every pair of inputs.
Common mistakes
- Rounding an odd half upward. Use floor division for the nonnegative halved value. The lost unit is accounted for by keeping the partner on that odd row. Rounding upward would count a different product.
- Testing parity in the doubling column. The keep-or-discard decision belongs to the halving column. Doubled values are often even on both kept and discarded rows, so their parity cannot identify the correct selection.
- Omitting the row whose halved value is one. One is odd, so its partner belongs in the sum. If you stop just before processing that row, the final contribution is missing even though the preceding table looks correct.
Questions learners ask
Why can I ignore the fraction after halving?
On an odd row, you first keep the current partner. The identity for an odd integer splits off exactly that contribution, leaving an even remainder that can be halved safely.
Can I swap the inputs?
Yes. The product is unchanged. Halving the smaller positive input usually produces fewer rows, while doubling the other input provides the corresponding selected multiples.
What happens if one input is zero?
The product is zero. The halving loop needs no selected nonzero contribution for a zero halved factor, and every doubling-column entry stays zero when that factor begins at zero.
Is this a different kind of multiplication?
It computes the ordinary product. Its representation emphasizes binary decomposition rather than decimal partial products, so it offers another way to understand and check the same arithmetic.
Keep learning
Connect this method to the main Math learning path:
Sources and historical scope
The familiar name is retained for discoverability. The lesson teaches a modern binary interpretation and does not treat the Russian or Egyptian labels as proof of a precise origin, exclusive ownership, or unchanged historical practice.
- University of Iowa, Douglas W. Jones: Binary multiplication and halving–doubling algorithms ↗
- University of Northern Iowa, Eugene Wallingford: Russian Peasant Multiplication ↗
The diagrams, examples and printable questions on this page are newly created teaching material. Historical context comes from the sources above.