Skip to content

Instantly share code, notes, and snippets.

@sweinberg
Created August 28, 2013 00:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sweinberg/6360716 to your computer and use it in GitHub Desktop.
Save sweinberg/6360716 to your computer and use it in GitHub Desktop.
Reduced Sum of Digits
#Reduced Sum of Digits
Take a whole number and add up its digits. If the result has more than one digit, add all of the digits again and keep doing this until you have one digit. Call the result the **RSOD**, the *Reduced Sum Of Digits*.
For example to get the RSOD of `32987` add `3+2+9+8+7` to get `29`. Now add `2+9` to get `11`. Now add `1+1` to get `2`. So the RSOD is `2`.
Here's why this is useful. If you add two numbers, the RSOD of the result is the RSOD of the sums of the RSODs. This means you can check any addition by checking single digit RSODs. For example consider this calculation
`132+991 = 1223`
The RSOD of `132` is `6`.
The RSOD of `991` is `1`.
So we expect the RSOD of the answer to be `7`.
So let's check.
RSOD of `1223` is `1+2+2+3 = 8`. It's not `7`. So now we know that the original calculation was wrong.
But that's not all. It works for multiplication too.
But even that's not all, it works for subtraction too. There's a slight catch because you might need to subtract a bigger RSOD from a smaller one. But there's a trick. If this is going to happen, just add 9 to the smaller one. It'll still give the correct result.
But even that still isn't all. It'll work for any exact decimal calculation whether or not they are whole numbers. For example consider
`14.32 × 32.98 = 472.2736`
`RSOD 14.32 = 1`
`RSOD 32.98 = 4`
`RSOD 472.2736 = 4 = 1 × 4`
The original multiplication was correct so the RSODs multiply correctly.
(It works for exact division too but rather than give the rule for that I suggest looking at divisions as multiplications and use the method for multiplications.)
Even with a calculator on every phone I still find this useful again and again.
Update: I think I omitted to mention that an `RSOD of 9` should be treated exactly like a `RSOD of 0`. So if you get a `9` anywhere in the process, just replace it with zero.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment