Overview
There's no deadline, no prize, and no judging panel, and yet Project Euler is harder than most contests on this list. A global community of more than 1.5 million members across 220 countries works through it in over 100 different programming languages. The platform is a steadily growing archive of problems that sit at the intersection of mathematics and programming, currently numbering 985, with a new one added roughly every week. The site has been running since 2001, maintained by Colin Hughes, and takes its name from Leonhard Euler, the 18th-century Swiss mathematician whose work spans nearly every branch of math the platform's problems touch.
How the Competition Works
A new problem drops weekly, and a clock starts. The Eulerians leaderboard tracks the 50 fastest members to solve each newly published problem, and because it resets with every new problem, a high schooler joining today competes on equal footing with members who've been at it since 2001. That's the live competitive piece. Underneath it, the full archive is always available: pick any problem, work it out using whatever combination of mathematical reasoning and code feels right, and submit a single numerical answer. Correct answers unlock a discussion forum where other members share how they got there, often in a dozen different languages and using techniques the original member hadn't considered. Wrong answers prompt another attempt.
A defining design constraint runs through all of it: every problem is built to be solvable in under a minute of computing time on a modest laptop, provided the approach is efficient enough. The challenge is rarely about raw computing power. It's about thinking better.
Who It's For
Picture the child who finishes a coding tutorial and immediately wants something harder than what the tutorial gave them. The one who likes math but finds typical math homework unsatisfying, or who likes programming but is bored writing yet another to-do list app. Project Euler is built for that kind of curiosity. It's especially useful for high schoolers learning their first or second programming language who want a long runway of problems to grow into. The early questions are gentle, and the difficulty climbs as your child does. Strong middle schoolers comfortable with algebra and a beginner programming language can absolutely get started, and they won't run out of room to grow for years.
What Makes This Different
The one-minute rule changes everything. No matter how fast the computer, raw speed won't crack these problems. They have to be thought through. A child who works the early problems will quickly meet ideas like the inclusion-exclusion principle, sieve methods, modular arithmetic, dynamic programming, and number-theoretic shortcuts they'd otherwise encounter only in a college course. And the post-solve discussion threads, hidden until the answer is right, are where a lot of the learning happens: readable solutions in dozens of languages from members who took entirely different routes to the same number.
Application & Eligibility
- Open to anyone, anywhere, of any age. No school affiliation, advisor, or team required
- No prerequisites, though basic programming literacy in any language and comfort with high school algebra make the early problems much more approachable
- Individual only. There are no team submissions, though members often work alongside friends informally
Cost & Information
- Cost: Free
- Format: Self-paced, online, asynchronous, ongoing
- Structure: Currently 985 problems published, with a new problem added roughly every week
- Eulerians leaderboard: tracks the 50 fastest members to solve each newly published problem, the platform's live competitive piece, open to newcomers from day one
- Recognition: A public profile shows solved problems and country; a new achievement level is earned for every 25 problems solved, with special awards for thematic accomplishments (such as solving 50 prime-numbered problems)
- No prizes, certificates, or formal recognition beyond the profile and community standing