I was taught a bunch of those tricks when I was learning my multiplication tables (and even some later when determining what numbers are factors of some other number). For multiples of 9, the 1st rule is the best to use; the 2nd one only works up to 9x10 = 90. After that, it won't work. For example 9x11... Using the 2nd rule, one might be tempted to say 11-1=10, and 1+0+8=9 so the answer would be 108. But the correct answer is 99, not 108 which is actually 9x12.
Some other tricks:
- Multiples of 2 are even
- Multiples of 3 have the sum of the digits = 3, 6, or 9
- Multiples of 4 have the last 2 digits as a multiple of 4 (eg 7564728 is a multiple of 4 since the last 2 digits being 28 are a multiple of 4 (4x7=28)
- Multiples of 5 end in 0 or 5
- Multiples of 6 are a multiple of 3 and 2. In other words, they must be even and the digits add up to 3, 6, or 9
- Multiples of 8 have the last 3 digits as a multiple of 8 (203486723896 is a multiple of 8 since 896 is a multiple of 8 (8x112=896)
Although the last rule for 8 doesn't seem that helpful since most people don't know all of the multiples of 8 up to 1000 and would have to use a calculator anyways, it's useful when looking at a very large number (as I used in my example) even if you have to use a calculator in the end to determine if the last 3 digits are a multiple of 8. The main problem with very large numbers is that even computers and calculators can make a mistake due to rounding errors and errors of significance. The problem is that in computers, everything is stored as 1s or 0s (ie Base 2) and the computer has only a finite amount of memory in which to use. So as its doing computations (esp. with large numbers) it may run out of room for all of the digits, and so it starts to round what it would consider an "insignificant" digit but may make a difference in determining if a number is truly a multiple of another number. For example, imagine that there was a very large number that you are trying to determine if it's a multiple of 8... When you used a calculator it showed that it was a multiple (the answer didn't have any numbers after the decimal point), but if one were to do the long-hand division the answer may actually end in .000000001 so even though this small fraction doesn't look very important, it still proves that the number is not in fact a multiple of 8. Another example is testing 12,347,496,132 / 11... On the original TI-89s and some other older calculators and computers, this would show up as being divisible evenly even though the answer actually results in a repeating .3636.
This rounding error is also why when programming it sometimes is better not to test for true equality since the answer that the computer calculates may be closer to an approximation than a true equality. For example, running a loop where x=0 the first time through the loop and adds 0.1 each iteration through it may not stop if told to stop when x=0.3, but will if told to stop when x>0.2 (when the computer calculates 0.1, it actually uses an approximation and thus the final answer may be very close to 0.3 but not exactly that number, so the equality test won't work).