mental-math

An arithmetic drill that adapts to how you are doing.

Ready when you are

80 questions in 8 minutes, getting harder or easier as you go.

Enter submits. A blank answer skips.

Length 80 questions · 8:00
Topics all topics
How the adapting works

Grading never involves the model. Every answer is compared as an exact rational number, the same way index.html and the Python package do it. 0.1 + 0.2 grades as 0.3. A language model is not in that path and cannot be: it would be slower and occasionally wrong at the one job the arithmetic already does perfectly.

Difficulty is chosen locally, in microseconds. Each topic carries a rating from 1 to 5. After every answer the rating moves by how you did against a target time for that topic at that level: fast and right pushes it up, wrong pushes it down, right but slow drifts down gently. The next question is generated at the rounded rating. This runs with no network and no waiting, because a timed drill cannot afford to block on an HTTP request between questions.

Mistakes are diagnosed by rules that must reproduce your answer. Each rule in the catalogue reconstructs the wrong result its slip would cause: a borrow dropped in subtraction, a partial product left unshifted, a numerator and denominator swapped. A rule is only reported if the number it generates equals, exactly, the number you typed. That is the difference from asking a model what went wrong: a mechanism that does not produce your digits can never be offered. When nothing matches, the page says so rather than inventing a reason.

Check the claims rather than trust them. Append ?selftest to the URL: it covers the exact arithmetic, round-half-to-even, answer parsing, exactness of division at every difficulty level, monotonic difficulty, and a worked case for every diagnosis rule.