Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Russian Peasant Multiplication (virtualspecies.com)
167 points by sayham28 on Nov 9, 2017 | hide | past | favorite | 57 comments


I've been using a less strict version of this method to multiply in my head since I was a kid. Nice to know there's a name for it.

You can also take advantage of multiples of 5 and 10. For example:

   115 x 37 = (100 + 10 + 5) x 37
   = 3700 + 370 + 370/2
   = 3700 + 370 + 300/2 + 70/2
   = 3700 + 370 + 150 + 35
   = 4255


Somewhat surprisingly, this is how Common Core arithmetic is taught nowadays.

Some parents are making a fuss because 'that's not how they learned arithmetic' [1], but actually anyone who is good with mental math uses these sort of tricks, particularly taking advantage of commutativity and distributivity.

In fact this builds far stronger intuition for the properties of numbers and is a good way to prepare for algebra and proof-based approaches later on.

Same sort of mental shortcuts for two-digit squaring:

52² = (50 + 2)² = (5 ⋅ 10)² + 2 * (50 ⋅ 2) + 4² = 5² ⋅ 10² + 200 + 4 = 2500 + 200 + 4 = 2604

[1] https://www.salon.com/2015/11/28/youre_wrong_about_common_co...


Yup, I learned this from optimising code, actually—break things down as much as possible into shifts & adds with small factors, go for numbers that can be “OR”ed (added without carrying), and try to keep things in the realm of stuff that’s already covered by lookup tables in your head (powers of 2 and 10, 2-digit multiplication table, squares).

In the particular case of 52, solving it more or less by your method, I think “pack of cards”, which makes me want to start somewhat non-optimally with factors of 2 and 13:

    52²
    (2² × 13)²
    2⁴ × 13²
    16 × 169
    16 × (16 × 10 + 9)
    16² × 10 + 16 × 9
    2560 + 16 × 9
    2560 + 16 × (10 − 1)
    2560 + 16 × 10 − 16
    2560 + 160 − 16
    2660 + 60 − 16
    2700 + 20 − 16
    2700 + 4
    2704
But most of the time when doing 2-digit squares or multiplies, I’d do this:

      2×5 → 1 0
    5×5 → 2 5|0 4 ← 2×2
            1 0 ← 5×2

          2 7 0 4


>Somewhat surprisingly

..to people who learn about Common Core from the rants of the parents who don't get it, quite sadly.


I disliked Common Core from the homework children brought to me. Looked nothing like the good example above GP showed.


You disliked Pearson worksheets. That's different from Common Core.


I don't like Common Core because it attempts to solve a problem that does not exist. The way we learned math was sufficient to enable us to build atomic bombs and go to the moon, all with slide rules for the most part. It has a proven history of working and working well.

The math shown in this article as well as much common core does not provide the user/student with understanding. Instead, they are taught incantations and rituals to get to an answer. This is a recipe for a society of math illiterates. Who is pushing this and why do they want such a society?

Common Core is not a better system than the one taught for a hundred years in this country. If you disagree, I would love to see the evidence. I'm sure before such a huge change was made to our educational system, there must be MOUNTAINS of such evidence that was presented. No? Not really?


> Instead, they are taught incantations and rituals to get to an answer.

My early school math involved memorising multiplication tables. Later on, there was rote memorisation of other aspects of math that I just never understood - you just "had to", and none of the teachers could explain why.

It was for this reason that I hated math, and it wasn't until I started understanding some of the more fundamental relationships many many years after school that I finally got it.

While this is but one anecdote, and having heard similar stories from others is just more anecdotes - there does seem to be research backing up that a lot of people don't understand the fundamental relationships between numbers and how math works.

I see Common Core math trying to teach relationships between numbers - showing that by being able to break down large unwieldy numbers you can get something that while it might have a bunch more steps, they're at least feasable without counting on fingers/toes or trying to remember times tables.


For some reason, I immediately groked calculus and why it would be useful (maybe because I liked physics and the relationship between velocity and position is an intuitive one), but the point of linear algebra was a complete mystery to me.

Why are we multiplying these big matrices of numbers, and what is this complicated determinant thing? Why would anyone ever care what a kernel is, and what are these subspaces that keep getting referenced?

Now every other somewhat mathy problem I see can be broken down into linear algebra and I wish I had learned it better (and that it was taught with more intuition).


I completely suck at calculus, but have a great need for kernels. I am an intermediate programmer/musician and I use them for audio convolution[0].

[0] - https://en.m.wikipedia.org/wiki/Convolution_reverb


I don't like any programming language that's not Assembly because it attempts to solve a problem that does not exist. Assembly was sufficient to enable us to go to the moon, all in 16-bit for the most part. It has a proven history of working and working well.


The way we learned math was sufficient to enable us to build atomic bombs and go to the moon, all with slide rules for the most part. It has a proven history of working and working well.

It was sufficient to allow a few people to build atomic bombs and go to the moon. It wasn't sufficient to impart the mathematical intuition and literacy needed by the rest of the citizens in a modern democratic society.

"How to teach math to people who are way into that kind of thing" may be a solved problem, but "How to teach math to everybody else" isn't.


Speaking of slide rules, most kids today don't even know how they work (log(a) + log(b) = log(a*b)). The engineers who did all those things you mentioned knew on an intuitive level, which isn't what you get with mechanical application of arithmetic algorithms as was taught in most schools prior to Common Core.


This is completely wrong, and a brief look at Common Core shows that it's not "incantations". It replaces the "incantations" of the past


gf is an English teacher. This is some of the research underpinning the instructional changes in CCSS for English specifically:

Bonfiglio, C. M., Daly, E. J., Persampieri, M., & Andersen, M. (2006). An experimental analysis of the effects of reading interventions in a small group reading instruction context. Journal of Behavioral Education, 15, 93- 109.

Burns, M. K. (2007). Reading at the instructional level with children identified as learning disabled: Potential implications for Response-to-Intervention. School Psychology Quarterly, 22, 297-313.

Burns, M. K., Dean, V. J., & Foley, S. (2004). Preteaching unknown key words with incremental rehearsal to improve reading fluency and comprehension with children identified as reading disabled. Journal of School Psychology, 42, 303–314.

Carney, J.J., Anderson, D., Blackburn, C., & Blessing, D. (1984). Preteaching vocabulary and the comprehension of social studies materials by elementary school children. Social Education, 48(3), 195-196.

Daly, E., & Martens, B. (1994). A comparison of three interventions for increasing oral reading performance: Application of the instructional hierarchy. Journal of Applied Behavior Analysis, 27,459-469.

Eckert, T. L., Ardoin, S. P., Daisey, D. M., & Scarola, M. D. (2000). Empirically evaluating the effectiveness of reading interventions: The use of brief experimental analysis and single-case designs. Psychology in the Schools, 37, 463-474.

Faulkner, H. J., & Levy, B. A. (1999). Fluent and nonfluent forms of transfer in reading: Words and their message. Psychonomic Bulletin and Review, 6, 111-116.

Gickling, E. E., & Armstrong, D. L. (1978). Levels of instructional difficulty as related to on-task behavior, task completion, and comprehension. Journal of Learning Disabilities, 11,559-566.

Hall, K. M., Sabey, B. L., & McClellan, M. (2005). Expository text comprehension: Helping primary-grade teachers use expository texts to full advantage. Reading Psychology, 26,211-234.

Levy, B. A., Nicholls, A., & Kohen, D. (1993). Repeated readings: Process benefits for good and poor readers. Journal of Experimental Child Psychology, 56, 303-327.

McComas, J. J., Wacker, D. P. & Cooper, L. J. (1996). Experimental analysis of academic performance in an academic setting. Journal of Behavioral Education, 6,191-201.

Neill, K. (1979). Turn kids on with repeated reading. Teaching Exceptional Children, 12, 63-64.

O’Shea, L. J., Sindelar, P. T., & O’Shea, D. J. (1985). The effects of repeated readings and attentional cues on reading fluency and comprehension. Journal of Reading Behavior, 17, 129-142.

Pany, D., & McCoy, K. M. (1988). Effects of corrective feedback on word accuracy and reading comprehension of readers with learning disabilities. Journal of Learning Disabilities, 21, 546-550.

Rasinski, T. V. (1990). Effects of repeated reading and listening-while-reading on reading fluency. Journal of Educational Research, 83, 147-150.

Reitsma, P. (1988). Reading practice for beginners: Effects of guided reading, reading-while-listening, and independent reading with computer-based speech feedback. Reading Research Quarterly, 23, 219-235.

Rose, T. L., & Beattie, J. R. (1986). Relative effects of teacher-directed and taped previewing on oral reading. Learning Disability Quarterly, 9, 193-199.

Sanford, A. K., & Horner, R. H. (2013). Effects of matching instruction difficulty to students with escapemaintained problem behavior. Journal of Positive Behavior Interventions, 15, 79-89.

Sindelar, P. T., Monda, L. E., & O’Shea, L. J. (1990). Effects of repeated readings on instructional- and masterylevel readers. Journal of Educational Research, 83, 220-226.

Smith, D. D. (1979). The improvement of children’s oral reading through the use of teacher modeling. Journal of Learning Disabilities, 12 (3), 39-42.

Stoddard, K., Valcante, G., Sindelar, P., O’Shea, L., & Algozzine, B. (1993). Increasing reading rate and comprehension: The effects of repeated readings, sentence segmentation, and intonation training. Reading Research and Instruction, 32, 53-65.

Taylor, N. E., Wade, M. R., & Yekovich, F. R. (1985). The effects of text manipulation and multiple reading strategies on the reading performance of good and poor readers. Reading Research Quarterly, 20, 566-574.

Turpie, J. J., & Paratore, J. R. (1995). Using repeated reading to promote success in a heterogeneously grouped first grade. In K. A. Hinchman, D.J. Leu, & C.K. Kinzer (Eds.), Perspectives on literacy research and practice: Forty-fourth yearbook of the National Reading Conference (pp. 255-263). Chicago: The National Reading Conference.

VanWagenen, M. A., Williams, R. L., & McLaughlin, T. F. (1994). Use of assisted reading to improve reading rate, word accuracy, and comprehension with ESL Spanish-speaking students. Perceptual and Motor Skills, 79, 227-230.

Weinstein, G., & Cooke, N. L. (1992). The effects of two repeated reading interventions on generalization of fluency. Learning Disability Quarterly, 15, 21–28.

Wixson, K.K. (1986). Vocabulary instruction and children’s comprehension of basal stories. Reading Research Quarterly, 21(3), 317-329.


As it stands, this comment appeal to authority. What those authorities have to say might be right or wrong. But you give no hint even at what they are saying.

If you want to do a kind of literature review, where you cite these papers as a way of building some kind of actual thesis, that might be interesting. But what is the point of the above?


The point of the above was a direct response to the parent, who asked for "mountains of evidence", which they didn't see for a simple reason of not bothering to check if they exist.


I'm not summarizing the literature just providing, as requested, some of the research that was directly referenced in the construction of the standards.


My son taught me it and I was all fussy because .... I would have preferred to learn it that way too.


Yes, but surely commutativity and distributivity etc. was properly taught before?

I can't speak for the situation in the US - and it's been a while for me -, but I remember that we were learning this stuff in that way, and these tricks, as you call them, as well as basic algebra, always seemed as a natural part of the process.

I don't know, but I have a hard time believing that fundamental axioms of math were not part of the teaching.

Oh, and by the way, you should check the result of your example again :)


I agree this is what people who teach common core think they're teaching. The garbage they're actually "teaching" is not this.


Evidence for this claim?


In this case I would do 115 x 37 = 115 x (40-3) = 460 x 10 - 3 x 115 = 4600 - 345 = 4255

Since 15 x 3 and 15 x 4 are trivial calculations the only caveat is the subtraction which isn't too bad.


> ... using a less strict version... Nice to know there's a name for it.

Using distributivity for creative simplification of a hard multiplication problem is a useful skill... It's a mental shortcut, like Russian Peasant Multiplication.

But it isn't the same as, or just a "less strict" version of it. The latter is an algorithm, and relies on binary arithmetic and the "simple" operations of doubling, halving, and summation.


That's exactly how I do multiplication in my head! I wonder why school never taught something like this, I find the standard right-to-left-and-carry-over method impossible to keep track of without paper.


They teach this method in my kids UK school, I'm pretty sure it's part of the standard curriculum.


Wouldn't that be the 'grid multiplication' method? https://en.m.wikipedia.org/wiki/Grid_method_multiplication


I do it quite differently, because I am good at operations, but I have a bad memory. 37 x 110 -> 4070 (mentally I visualize 3700+370 . This is not fully obvious because of the carry), then I try to remember this number so that I can add 185 (when I see 37x5, I see 18.5x10 without other intermediate step) to it and remember the result.

The "normal" way is 30 x 115 -> 3450 (easy because I can see 3x15->45, so it is as if there was no carry), then 7 x 115 -> 805 (not obvious because of 2 carries), then I have forgotten the 3450, I recompute it while trying to remember 805.

For me, the aim of all these tricks is to cope with a bad memory.


I also likes the table of 37, but this works better for smaller numbers. This gives: 37 x 115 -> 37 x 3 + (114 / 3) + 37. I know that 37x3=111. With some efforts, I can see that 114 / 3 -> 38. I am still memory free to perform the difficult 111x38 -> 3800+380+38 = 4180+38 = 4218 that I pain to remember to add 37. In this case, the table of 37 is not very effective.


This is a pretty standard way of doing mental multiplication. The interesting thing about the method in the article is that it involves binary not base 10.


ya, surprised too. I always thought this is just how everyone informally does multiplications in their head.


Divide and conquer, in a way :D


Anyone interested in this should watch some "Flash Anzan" videos. Here are some of the more impressive ones I've seen: [1], [2], [3]

Here's one describing more of the basics: [4]

[1] - https://www.youtube.com/watch?v=JawF0cv50Lk

[2] - https://www.youtube.com/watch?v=7ktpme4xcoQ

[3] - https://www.youtube.com/watch?v=_vGMsVirYKs

[4] - https://www.youtube.com/watch?v=OFmDvAnIXo8


I struggled and still do with multiplication taught in School. As a child my dad showed me "Napier's Bones". I haven't looked back since, it may be slower, more drawing, but for me it works

https://en.wikipedia.org/wiki/Napier%27s_bones

https://www.youtube.com/watch?v=WZLpqTyZMM4


Your video link just shows the common lattice method for writing the standard multiplication algorithm, used since at least the 1200s by Arabs and common around the world ever since. Napier's bones is a physical artifact, which tries to eliminate the required memorization of a 1-digit multiplication table, and is very rarely used in practice by anyone anywhere. https://en.wikipedia.org/wiki/Lattice_multiplication


oh, I always thought it was called Napier's Bones, oh well.


That was awesome, I never heard of them before, just spent twenty minutes with the wiki link.


Strange, to me that just looks like the standard algorithm put in a form that can be partly mechanised. I am surprised that it helps people who do not have a physical set of the bones themselves.


It doesn't, parent poster was confused. The bones are required to make the method useful


My takeaway (since I'm okay at multiplying numbers) is the algorithm for figuring out the binary digits of a number. I've always just done "okay, it's bigger than 256, so subtract that and then it's bigger than 64 so subtract, etc." I much prefer this strategy of successively divide by 2 and discard remainder, mark a 1 for each time that the result is odd and 0 for even.


That's, essentially, the algorithm for computing the representation of a number in a given base: divide by the base and write down the remainders.

To build up intuition on how this works, do it with base 10.

What are the digits of the number 8675309 ? Just remainders after repeatedly dividing by 10.

Now when it's almost obvious it works for base 10, you realize there's no reason it wouldn't work the same way for other bases. Hence the algorithm.


You're of course completely correct, but I feel like that misses the point. The great thing about this algorithm is not that it works - there are plenty of ways to figure out the binary representation of a number. Rather, it's that it only needs operations that are easy to perform and requires little state to remember. I'd much rather divide by two and round down than subtract the largest power of two that's less than my number from it. And I don't have to remember which power of N I last worked to know how many zeros I need to add before using the next power of 2 that fits in my number.


Also known as "shift-and-add", and very commonly implemented in microcontrollers and early microprocessors that didn't have multiplication instructions in hardware.



Wow! This website design is what everyone would have if the 90's dial-up BBS scene aesthetic had been the guiding light of website design from then on.

And I like it.


Especially that twisting Tag animation.. :)


Some of the Vedic Multiplication short cuts: http://mathlearners.com/vedic-mathematics/multiplication-in-...


Another impressive system for mental arithmetic is the Trachtenberg System: https://en.wikipedia.org/wiki/Trachtenberg_system


BTW There are many fast algorithms https://en.m.wikipedia.org/wiki/Multiplication_algorithm

Fastest of them use FFT and parallelism


Fastest for sufficiently large numbers. In this case the crossover point is somewhere beyond 10,000 decimal digits.



This is a good introduction to how to create a binary multiplier unit in digital logic.


I highly recommend the Secrets of Mental Math book:

http://a.co/095nXaa

Lots of good insights on how to make shortcut mental calculations.


Could this be used to speed up multiplcation by computer? or is that already a "perfectly" optimized?


This is mostly equivalent to grade-school multiplication, but in binary. Good enough for multiplying small numbers; too slow for very big numbers.


Actually, this is basically how it is done in circuits, with some minor optimizations on top and without the explicit doubling operation.

It's about as simple as you can make a task like this. The grade school mechanism doesn't look so bad, when you consider that where multiplying by a digit 0-9 occasionally involves some carrying and non-trivial work but multiplying by a binary digit is a simple AND operation. The result is that with fixed operand size and no carrying, each digit you would write under the line using the grade school method can be determined directly as the AND of two bits of the input, and what's left is only a bunch of binary addition.

https://en.wikipedia.org/wiki/Binary_multiplier


I really love this kind of stuff, and it makes me wonder how the first person who did it figured it out.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: