Daily exercises to speed up my mental calculations?

When I was a kid in school my father prevented me from using a calculator when solving my math homeworks. However at that time I was not convinced as of why not to use such a useful tool! So I kept on using it for multiplications and division, in secret. But now that I am 25 years old and a master student in CS, I realized that I did a huge huge mistake. Now I find myself the slowest (ever) of my peers in doing mental calculations. Sometimes I fail even with simple stuff. Even normal people are faster than me. Considering that I'm doing my master in Machine learning and planning to do a PhD, I find it critical to solve this problem and I hope this is not too late. I need to solve this because now I feel so unconfident when I go to the whiteboard to explain something and I always fear that some bachelor student (or anyone) could ask me a simple math question that involves a simple calculation and I take so much time for it. By the way, I still until now need to Google how to do long-division, even tho in the past two years I reviewed that twice and did many exercises to have the long-division stick to my mind, but I alway forget it.

So my questions to you:

1- Can you suggest kinds of daily math exercises that help me solve my problem of being slow with calculations? resources for exercises or so?

2- Do you have other advise for me that could of benefit?

3- Is it normal that I keep forgetting the long-division? Is it normal among people? Especially people in CS in academia? :/


Solution 1:

You didn't give concrete examples of the sort of arithmetic you stumble over, besides long division, so I don't know how to give you specific advice. So instead, I'll offer a few very general slogans for becoming more fluent in mental arithmetic. (I call them "slogans" because they are just that: not rules, or axioms, or anything formal. I suppose I could also have called them heuristics, to use a favorite CS word.)

  • Approximate, and then correct.

I put this slogan first because it is probably the most general, and most important. It is common for people to be defeated by arithmetic because they accept a problem in its given form without turning it into something simpler. You have to learn to be flexible. That is one thing Jack M means by "numerical fluency" in his comment: being able to attach some meaning to the problem you're given, so that you can encode it in more useful forms (without losing the essential content of the original problem). This sort of flexibility takes training. You have to learn to juggle different problems in your head, and understand how they are related to each other. And you have to become more confident in your willingness to play with a problem, rather than just apply rote algorithms. You have to be comfortable with a little bit of creativity and freedom.

So, for example, to do $137+85$ in your head, one approach would be first approximate to $140+85$ and then correct the answer by subtracting 3. (Because we rounded 137 up three, we must compensate in the end by taking 3 away.) To do $140+85$, you could first do $140+60$ (taking you to a nice round number, $200$) and then add the extra 25, giving you 225. So the final answer is 222. This problem would be annoying to do without some sort of approximation, because you have to "carry" the sum of the units digits. In fact, you should probably learn to dispense with the language of "carrying" entirely.

Of course there are other ways you could have approximated in this example: there are many degrees of freedom. That is another way of illustrating what I mean by "flexibility." You could also have done $130+80+7+5$, for example.

Part of the art of approximation is keeping track of how your approximations impact the answer. So if you approximate to a lower number, you should realize the answer will be greater than your approximation; and similarly for vice versa.

This theme is also incredibly important for subtraction. Try the same technique for $271-89$. What can you approximate to? What would make this problem easy?

  • Turn multiplication problems into addition problems using the distributive property.

To do $67\cdot 8$ in your head, think about the problem starting from the leftmost digit instead of the rightmost digit of the larger number. Why? Because the leftmost digit is going to have the largest impact on the order of magnitude of the answer; the rightmost digit is going to impact the answer to a significantly less degree. This runs counter to the way most Americans are taught to do gradeschool multiplication, where we work from right to left.

In particular, think of this problem as $$(60+7)\cdot 8=60\cdot 8+7\cdot 8$$ The distributive property has allowed us to turn the multiplication problem into an addition problem ($480+56$) which you can attack using the first slogan. (What would it be useful to approximate to in this case? How would you have to correct the answer?)

And of course this technique doesn't just work for two-digit numbers by one-digit numbers. You can also do $24\cdot 87$ this way, but you have to train enough to be able to hold several numbers in your working memory.

There are many ways to combine this slogan with the first one. For example, to do $15\cdot 9$, instead approximate to $15\cdot 10$ and then correct the answer by subtracting $15\cdot 1=15$. Why do we have to subtract $15\cdot 1$? Keep in mind what multiplication means: in this case, $15\cdot 9$ means add 15 up 9 times. (That turns out to be the same thing as adding 9 up 15 times, but we might as well work with the shorter string of additions.) But $15\cdot 10$ means add 15 up 10 times. So the answers to these two problems will be off by one 15.

  • Exploit factorizations to make division go more quickly.

To do $\frac{1284}{27}$, you should notice that both numbers have at least a few factors of 3. (This is where knowing your "divisibility tests" come in handy.) That allows you to reduce the problem significantly.

  • Run good quality control tests: make sure your answer "makes sense," and check your result against other facts. Doing so helps to convince you that you have not made an error.

If you tell me $16\cdot 3$ is less than 45, I'm going to be suspicious, because I know $15\cdot 3=45$, and so $16\cdot 3$ must be greater than 45. This is a very simple example of much more powerful theme: don't think you've finished an arithmetic problem when you've gotten a final result. You should check that result against your intuition, and even against other problems. Say to yourself "$16\cdot 3=48$? That makes sense, because I know the answer ought to be more than 45, and in fact I'm just taking one more 3, so it should be exactly 3 more than 45." Make it a habit to check your result against other facts.

Solution 2:

A nice book is "Street Fighting Mathematics" by Sanjoy Mahajan. It provides some quick ways to approximate a decent number of problems pretty closely.

The creative commons version is here.

If its just arithemtic though, normally just order of magnitude (by rounding) is good enough, but you can find "Mad Minute" type sheets with bigger numbers.

Solution 3:

I used to be exactly the same way. It would take me several seconds to multiply even single-digit numbers.

I'm getting better now using 2 things:

  1. Practice — just find the kind of problems you want to get better at solving, and solve them.

  2. The Trachtenberg system — provides some great techniques for doing multiplication and division more efficiently. The fast division takes a while to get the hang of, but once you get it, it speeds division up tremendously.

Regarding checking your answer, use digit sums: Sum the digits $mod\space9$ (or $mod\space11$), then perform a multiplication on the check-digits, e.g.:

  • $672 / 48 = 14\space\checkmark$
      ⑥   ③      ⑤     $5 × 3 = 6\space\space(mod\space9)$