In this lesson, we extended the algebraic elimination method to mixed repeating decimals by introducing a second power of ten. The smaller shift moves past the non-repeating prefix, the larger shift moves past the prefix plus one full repeating block, and subtracting the two cancels the repeating tail cleanly. We practiced with prefixes and blocks of different lengths and distilled the approach into a general formula.
Now it is time to put this technique into action! In the upcoming practice exercises, you will complete a guided conversion step by step, write full derivations from scratch, tackle mixed decimals of increasing complexity, and even convert a real-world measurement into an exact fraction. Let's turn that fresh knowledge into lasting mastery!
Be a part of our community of 1M+ users who develop and demonstrate their skills on CodeSignal
Welcome to the final stop in Mastery of Repeating Decimals! Over the first three lessons you built a powerful toolkit: reading bar notation, identifying repeating blocks in mixed expansions, and using the algebraic elimination method to convert pure repeating decimals into exact fractions. Now we are ready for the capstone skill — converting mixed repeating decimals into exact fractions.
A mixed repeating decimal has one or more non-repeating digits after the decimal point before the cycle begins, like 0.16 or 0.916. This lesson builds directly on the four-step technique from Lesson 3. The core idea stays the same — multiply, subtract, and cancel the repeating tail — but the new wrinkle is that mixed decimals require two different powers of ten instead of one. By the end of this lesson, you will handle any mixed repeating decimal with confidence.
In the previous lesson, converting a pure repeating decimal like 0.7 required just one multiplication by 10. We multiplied, subtracted the original, and the repeating tails canceled neatly. That worked because the cycle started immediately after the decimal point, so a single shift by one block length was enough to line everything up.
Now consider 0.16=0.16666… The repeating block (6) does not begin until after the prefix digit 1. If we try the old approach and multiply only by 10, we get 10x=1.6666… Subtracting the original x=0.1666… does cancel the repeating part, giving 9x=1.5, but the right side is a decimal rather than a whole number.
The calculation still leads to the correct answer, yet it forces an extra step of clearing that decimal. With longer prefixes or blocks, this workaround grows messy fast.
The cleaner strategy uses two multiplications: one that shifts past the prefix and one full repeating block, and another that shifts past just the prefix. Both shifted versions then share identical repeating tails starting right after the decimal point, so subtracting them produces a whole number on the right side every time.
Let's see the two-shift method in full detail with 0.16=0.16666… Here the non-repeating prefix has 1 digit and the repeating block has 1 digit.
Step 1 — Define a variable.
x=0.16666…
Step 2 — Apply the larger shift. Multiply by 101+1=102=100 to move past the prefix and one full block:
100x=16.6666…
Step 3 — Apply the smaller shift. Multiply by 101=10 to move past just the prefix:
10x=1.6666…
Step 4 — Subtract. Both 100x and 10x now share the same repeating tail .6666… after the decimal point:
100x−10x=16.6666…−1.6666…90x=15
Step 5 — Solve and simplify.
x=9015=61
We divided numerator and denominator by 15. So 0.16=61. A quick check confirms this: 1÷6=0.1666… ✓
Let's try another example with the same structure — one prefix digit and a one-digit block — and move through it a bit more briskly.
Let x=0.83=0.83333… The prefix has 1 digit and the block has 1 digit, so we multiply by 100 and by 10:
100x=83.3333…10x=8.3333…
Subtract:
90x=75x=9075=65
We simplified by dividing by 15. Notice the denominator before simplification was 90 in both this example and the previous one. That is not a coincidence — whenever the prefix is 1 digit and the block is 1 digit, we always get 102−101=90.
When the repeating block has more than one digit, the larger power of ten increases to match. Let's convert 0.172=0.172727272…, which has a 1-digit prefix and a 2-digit repeating block.
Larger shift: 101+2=103=1,000
Smaller shift: 101=10
1000x=172.7272…10x=1.7272…
Subtract:
990x=171x=990171=11019
We divided by 9 since gcd(171,990)=9. The denominator before simplifying was 990=1,000−10, which fits the emerging pattern: the denominator is always 10p+r−10p, where p is the number of prefix digits and r is the length of the repeating block.
What happens when the prefix is longer than one digit? The same logic applies — we simply increase the smaller power of ten. Let's convert 0.916=0.91666…, which has a 2-digit prefix (91) and a 1-digit repeating block (6).
Larger shift: 102+1=103=1,000
Smaller shift: 102=100
1000x=916.666…100x=91.666…
Subtract:
900x=825x=900825=1211
We divided by 75. The key takeaway here is that the smaller power of ten always matches the number of non-repeating digits. This ensures both shifted versions have the repeating part starting right at the decimal point, so the tails cancel perfectly.
Here is a nice real-world connection: if a stopwatch reads 0.916 hours, that is exactly 1211 of an hour, or 55 minutes. Fractions like 1211 are far easier to interpret and reuse in further calculations than an infinite decimal string.
Let's collect everything into a tidy summary. For a mixed repeating decimal with p non-repeating digits after the decimal point and r repeating digits:
Component
Value
Larger shift
10p+r
Smaller shift
10p
Denominator (before simplifying)
10p+r−10p
The subtraction on the right side always yields a whole number equal to the digits from the decimal point through one full block, minus the prefix digits alone. Written as a formula:
x=10p+r−10p(prefix + one block as a number)−(prefix as a number)
For example, with 0.172: the numerator is 172−1=171 and the denominator is 1,000−10=990, giving 990171 before simplification. As always, the final step is to divide numerator and denominator by their greatest common factor to reach simplest form.