When I do math in my head, I usually combine a few approaches:
- Always keep track of units.
- Try to re-use math I have memorized (such as the multiplication tables, powers of 2, powers of 3, common square roots, common trig ratios, et cetera)
- Use "carrying" to split each number into a round number and an "error" term. Often, the first operations will be on the number(s) that are closest to round numbers.
- Use memorized values to handle round number inputs to square roots or trig functions, and interpolation to adjust for the "error" terms.
- Chunk four-digit numbers into pairs of digits.
- Use my fingers to store values as Roman numerals. (This allows storing a pair of digits on my hands.)
For example:
- 99 * 58 = (100 - 1) * 58 = 5800 - 58 = 5700 + 100 - 58 = 5742
- 2048 + 1296 = 2048 + 1300 - 4 = 2044 + 1300 = 3344
- 506 + 998 = 506 + 1000 - 2 = 504 + 1000 = 1504
Since the original poster asked (in a comment) about square roots:
- sqrt(0.3048 meters * 2 / (9.80665 meters/second^2))
= sqrt(0.3048 * 2 second^2 / 9.80665)
= 1 second * sqrt(0.3048 * 2 / 9.80665)
~ 1 second * sqrt(0.3 * (1 + 1.6%) * 2 / (10 * (1 - 2%)))
~ 1 second * sqrt(0.6 / 10 * (1 + 1.6% + 2%))
= 1 second * sqrt(0.06 * (1 + 3.6%))
= 0.1 second * sqrt(6 * (1 + 3.6%))
~ 0.1 second * sqrt(6.216)
= 0.01 second * sqrt(621.6)
~ 0.01 second * (sqrt(625) - 3.4/(625 - 576))
~ 0.01 second * (25 - 3.4/50)
= 0.01 second * (25 - 6.8/100)
~ 0.01 second * (25 - 0.07)
= 0.01 second * 24.93
= 0.2493 seconds.
(Actual value is 0.249322 seconds, at 45 degrees latitude on Earth.)