How do you calculate how many decimal places there are before the repeating digits, given a fraction that expands to a repeating decimal?

5.5k Views Asked by At

If you have a fraction such as $$\frac{7}{26}=0.269230\overline{769230}$$ where there are a number of digits prior to the repeating section, how can you tell how many digits there will be given just the fraction?

I believe I could run through the standard long division algorithm until I come across the same remainder for the second time and then use the location of the first instance of this remainder to calculate the number of digits before the repeating section, but this feels very cumbersome.

After lots of reading online, I came across what looks like a formula for it from Wolfram MathWorld:

When a rational number $\frac{m}{n}$ with $(m,n)=1$ is expanded, the period begins after ${s}$ terms and has length ${t}$, where ${s}$ and ${t}$ are the smallest numbers satisfying $10^s\equiv10^{s+t}\pmod{n}$.

I know how to calculate the length of the period of a fraction, and so in the case of my original fraction we have $10^s\equiv10^{s+6}\pmod{26}$, but I don't know how to solve for ${s}$ in this equation!

So there are really two questions here - the one in the title, and a sneaky one about how to take logs in a modulo arithmetic equation.

3

There are 3 best solutions below

4
On BEST ANSWER

Rewrite the fraction as $$\frac{m}{n}=\frac{p}{10^sq}$$ where $p,q$ are coprime and $q$ is not divisible by $2$ or $5$ while $p$ is not divisible by $10$. Computing $s$ (the pre-period) is easy; it is the larger of the number of times $2$ divides $n$ and the number of times $5$ divides $n$. Then we want the smallest $t$ such that $10^t\equiv 1\;(\bmod\;q)$. By Fermat's little theorem, we have $10^{\varphi(q)}\equiv 1\;(\bmod\;q)$, thus $\;t|\varphi(q)$ so it suffices to check the divisors of $\varphi(q)$.

0
On

'Cumbersome' is what computers are meant for! Here is an algorithm I converted into a python program to do something similar for Project Euler 26.

1
On

In the $2^{nd}$ section of this answer we get the answer using the high-school algorithm that the OP mentioned, but eschewed as being too cumbersome. But by studying the theory behind the algorithm and using elementary number theory, we will be able to understand, directly, the wolfram theory on decimal expansions at formulas/examples (7) - (9).

For the zero divisor $[10] \in {\textstyle \mathbb {Z} /26\mathbb {Z}}$, calculations show that

$\quad x \pmod{26} \text{ where } x \in [10^0, 10^1, 10^2, 10^3, 10^4, 10^5, 10^6, 10^7] = [1, 10, 22, 12, 16, 4, 14, 10]$

The numerator $7$ of the fraction $\large \frac{7}{26}$ carries over to a unit, $[7] \in {\textstyle \mathbb {Z} /26\mathbb {Z}}$.

So the unit $[7]$ 'goes for a ride' over the 'exponential graph' of zero-divisors generated by $[10]$,

$\quad [1\cdot7,10\cdot7,\, 22\cdot7,\, 12\cdot7,\, 16\cdot7,\, 4\cdot7,\, 14\cdot7]\quad \text{(not necessary to to calculate any of these residues)}$

Conclusion: In the decimal expansion of $\large \frac{7}{26}$, the repeating block of digits is of length $6$ and begins at the $2^{nd}$ fractional decimal digit ($10^7 \equiv 10^1 \pmod{26}$).

With this behind us, we can easily get the explicit answer - multiply the numerator by $10^7$ and keep the 7 quotient digits (padding $0s$ after the decimal point might be necessary) after dividing,

$\quad 7 \cdot 10^7 = 26\cdot2692307+18$

and (we've got the seven digits in the quotient),

$\quad \large \frac{7}{26} \approx 0.2\overline{692307}$

The same pattern (1 plus 6 block) occurs whenever the numerator of $\large \frac{n}{26}$ satisfies

$\quad 1 \le n \lt 26 \land n \text{ is odd } \land n \ne 13$


Analyzing the high-school algorithm (see some theory here), there are at most $26$ divisions (neophyte estimate) that have to be performed. So let us just jump into it!

Expand $\large \frac{7}{26}$:

Divide Approximate (append $q$ digit)
$7\cdot 10 = 26 \cdot 2 + 18$ $\large \frac{7}{26} \approx 0.2$
$18\cdot 10 = 26 \cdot 6 + 24$ $\large \frac{7}{26} \approx 0.26$
$24\cdot 10 = 26 \cdot 9 + 6$ $\large \frac{7}{26} \approx 0.269$
$6\cdot 10 = 26 \cdot 2 + 8$ $\large \frac{7}{26} \approx 0.2692$
$8\cdot 10 = 26 \cdot 3 + 2$ $\large \frac{7}{26} \approx0.26923$
$2\cdot 10 = 26 \cdot 0 + 20$ $\large \frac{7}{26} \approx 0.269230$
$20\cdot 10 = 26 \cdot 7 + 18$ $\large \frac{7}{26} \approx 0.2692307$

Now the residue $18$ has already appeared and was used after calculating the first fractional decimal; the answer is summarized as follows:

$\quad \large \frac{7}{26} \approx 0.2\overline{692307}$