This looks very cool, though it looks inconvenient for multiple problems due to the amount of drawing involved.
A good, practical approach I've liked to use are the techniques in Benjamin and Shermer's "Secrets of Mental Math." One of the examples in the linked article shows a method of drawing for solving 42 * 21. But this is easier to solve mentally by converting this to a simpler problem, as recommended by the book: 42 * 21 = (42 * 20) + (42 * 1) = 840 + 42 = 882.
You can often split up these types of multiplication problems into an easier multiplication problem, plus an addition. You can then solve the entire problem without much or any paper for calculation.
You might be surprised to learn the drawing method does a simple decomposition as well, if you just stare long enough. In this case (4x10+2)(2x10+1) = 4x2x10x10 + 4x10x1 + 2x10x2 + 2x1. And the number of tens of the products are just substituted by position. No more or less than any other multiplication algorithm for humans, but nice in that the sticks are fun to draw.
Naively this looks like it could be used for any base number system, so from the example, 9*8 looks like it's a raw brute force using this method, but if converted to something smaller, like base 5 as a random example, it could easily be made simpler.
This could also pretty easily be implemented in code as well, although it would almost certainly be less efficient than just letting your language and processor do the math it was already optimized to do.
9 comments
[ 1.5 ms ] story [ 29.9 ms ] threadA good, practical approach I've liked to use are the techniques in Benjamin and Shermer's "Secrets of Mental Math." One of the examples in the linked article shows a method of drawing for solving 42 * 21. But this is easier to solve mentally by converting this to a simpler problem, as recommended by the book: 42 * 21 = (42 * 20) + (42 * 1) = 840 + 42 = 882.
You can often split up these types of multiplication problems into an easier multiplication problem, plus an addition. You can then solve the entire problem without much or any paper for calculation.
This could also pretty easily be implemented in code as well, although it would almost certainly be less efficient than just letting your language and processor do the math it was already optimized to do.
Actually it is a more complicated version of it. See here for an image showing how to multiply numbers with three digits using that method: https://math.stackexchange.com/questions/886177/where-does-t...