2 ms·
Suppose you have a number: x = a0 10^1 + a1 10^0 + a2 10^-1 + ... If you write down x * x * x, you get something like: x^3 = a0^3 10^3 + 3 a0^2 a1 10^2 +
by pavpanchekha 5y ago
Suppose you have a number:
x = a0 10^1 + a1 10^0 + a2 10^-1 + ...
If you write down x * x * x, you get something like:
x^3 = a0^3 10^3 + 3 a0^2 a1 10^2 + (3 a0 a1^2 + 3 a0^2 a2) 10^1 + ...
Now equate this term by term to your goal, which is:
x^3 = 1 10^3 + 7 10^2 + 2 10^1 + ...
From the first term, you get:
1 = a0^3
So a0 = 1, giving us an answer of 10 so far. Plug that in to the second term and you get:
7 = 3 a1
which gives a1 = 2---you always round down. The answer is 12 so far. We have a carry of 1, which we need to add to the next one. That gives us:
12 = 3 * 1 * 2^2 + 3 * 1^2 * a2 = 12 + 3 a2
Which leaves a2 = 0. So the answer is 12.0 so far.
As you go further, there are more and more terms hence the "scaling" phenomenon you see. Every time you are solving a polynomial equation in one variable, where the solution is an integer 0 through 9; my guess is that on an abacus you do binary search instead of root finding. On paper this sounds easy, but on the abacus it sounds impossible—each of those adds and multiplies is its own crazy sequence of steps.