Project Euler is a website dedicated to a series of challenging mathematics and computer science problems intended to be solved with programming. Starting since November 2018, I have solved over 150 problems in total, covering topics such as number theory, combinatorics and dynamic programming. It’s an incredible fun way to learn about algorithms, discrete mathematics and number theory (and much more!).
This repository contains all my solutions for Project Euler sorted by programming language. Feel free to add me on Project Euler. My friend key is: 942079_iEDMDDXDe13LYMmzlReee7a2IXghArkI
.
I write most of my solutions in Python. In some cases, I have written code in different languages (e.g. Julia, Go, Scheme) in order to learn a new language. Detailed explanations on solutions can be found in projecteuler.org.
- <2020-08-08 Sun> 150 problems solved
- <2019-03-27 Wed> 100 problems solved
- <2018-12-03 Mon> 50 problems solved
- <2018-11-08 Thu> First problem solved
There are many great resources that have helped me to solve Project Euler problems. I believe that looking at these resources is really helpful, especially if I know that there is some mathematical/programming technique I didn’t know about before. Some people might argue that this takes away the fun, but I disagree as learning about new things is the most fun part about Project Euler. Below you can find a shortlist of resources that I find most valuable:
- ProjectNayuki
- Over 200+ solutions mostly written in Python.
- Stephan Brumme
- Over 300+ solutions including explanations.
- Lucky Toilet
- All numerical answers to Project Euler.
- Computing large binomial coefficients modulo prime
- When going into problems above 300, most often we need to compute the solution modulo a prime number. This guide explains how to compute binomial coefficients modulo prime, where Little Fermat’s Theorem and Lucas’ Theorem will come in handy.