Help me understand logarithms. I want to calc log10(x) without a calculator. Where x is a positive integer between 10-40 [Algebra]

Other than some structured way of doing trial and error or using numerical methods with 10x = 20, which would most likely still require of you to get a calculator, you can use properties of logarithms and factorization to manipulate it into something more easily computable.

log10(20) = log10(10 * 2) = log10(10) + log10(2) = 1 + log10(2) = 1 + log2(2)/log2(10) = 1 + 1 / log2(10) = 1 + 1 / (log2(2) + log2(5)) = 1 + 1 / (1 + log2(5))

We know 22 = 4 and 23 = 8

We can do a linear approximation of 2x = 5 using the 2 bounds above: x =approx 2 + (3-2) * (5-4)/(8-4) = 2.25

So log10(20) =approx 1 + 1 / (1 + 2.25) = 1 + 1 / 3.25 = 1 + 4/13 = 17/13

And a numerical computation of log10(20) to 5 digits is 1.30103, and 17/13 =approx 1.30769

So this approximation is correct to 5 x 10-1 (1 digit), and almost correct 2 digits. Not too bad for a non-numerical method without a calculator.

To summarize the trick:

  1. If you try to find logB(A), with B<A, first check if B is an integer factor of A, if so, logB(A) = 1 + logB(A/B)

  2. If A/B < B use (A/B) as a change of base, such that logB(A/B) = logA/B(A/B) / logA/B(B) = 1 / logA/B(B) , and repeat step 1 if possible.

  3. If you get again something where the argument is smaller than the base of the logarithm, repeat step 2 (& 1 whenever possible).

  4. Finally, break whatever is left at the end into its product of prime factors and estimate their bounds. This should be manageable to get a decent approximation without a calculator because you are dealing with small exponents.

/r/learnmath Thread Parent