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

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)$.


'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.


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}$