If you don't already know about Project Euler, it is a source of over 850 computational problems ranging from basic combinatorics and number theory to more complex challenges involving graphs, set theory, algebraic geometry ang much more.
While the problems get very tricky, it's a good side-project, learning tool, or recreational hobby for anyone in the fields of mathematics, software development, or computer science.
This repository contains my attempts at solving the problems, both the successful and the unsuccessful.
Below are some key points about the code in this repository.
- Language:
- Version:
3.12.0
- Code that requires a different version of Python will be indicated.
- –
20.8.0
1 - –
5.4.6
- Style: see here
- Generally conforms to PEP 8.
- All functions will have docstrings and will be typed.
- The majority of the code won't use many comments, but is otherwise clean and readable code.
- Comments will only be included for special cases of optimisation, special techniques or useful tricks.
- They may also be used to refer to interesting discussions, other references, etc.
- Libraries: none (unless noted)
- I don't intend to use any libraries, even built-ins, though I may use built-in modules in future problems.
- Sources: various
- The web, AI engines, textbooks, other people, etc.
- Any use of these will be indicated.
- Though I intend to complete them in order, I'm sure I may skip over some harder problems at some point.
- Any code that is not correct, complete, or is taken from elsewhere will be documented as such.
- Additional solutions, red-herrings, or other code snippets may be included in a separate folder.
- While you could copy-paste the solutions and answers to each question, I encourage you not to, as that can take some of the fun out of the challenges.
See also: solutions.md
- ✏️ Attempted problems: 5 / 858 (0.58%)
- ✅ Correct solutions: 5 / 5 (100%)
Feel free to suggest edits to any of the code or discuss realted topics. Any interesting changes or questions will be commented in to the corresponding code, though I doubt I will change any functionality. :)