I decided to apply for a junior developer job. I got an interview and to prepare for an interview I found this site, Project Euler. I did ten or so tasks.
The interview started out pretty bad, they asked me some technical questions which I did not give good answers to, and I saw that they where not impressed. Then they wanted me to solve two programming problems on a white board. Imagine the relief I felt when both of these questions where from the ones that I solved on Project Euler a couple of days before! I nailed them and the interviewers where clearly impressed. In the end they hired me and motivated it with that although I lack a lot of theory I am obviously a very good coder haha.
Anyway, that was what I needed, when I got this job I quit the drugs and got my act together. 12 years later I live a confortable life as a freelancer and have even managed to build my own SaaS with paying customers! Thank you Project Euler.
Not one interviewer had heard of it.
Glad it worked out for you!
It's a system that helps services companies within a certain industry to digitalize all their paperwork, report to the national goverment agencies etc. They do a lot of manual work which can be digitalized easily.
I found this opportunity by just randomly throwing out in a big community that I build software and is looking for ideas, and some guy answered that ended up being my business partner for 3 years now. We are not rich from it but earn like $2000 each a month after tax which is quite a lot for us since we live in a country where healthcare, schools, parental leave etc are covered by taxes. And we dont need to put more than a few hours a month on support. I have put in basically all my spare time for 2 years to get to this point though, the biggest reward is not the money but the process of sitting through the nights being completely in the zone and building this stuff knowing that it will be great :D
The problem was based on 2013 Putnam Exam problem A2 (https://kskedlaya.org/putnam-archive/2013.pdf) which I took at the end of undergrad.
I got an email six years later (in November 2024) telling me they accepted the problem:
Greetings!
Please excuse the email. It's quite possible that you are no longer active at Project Euler, but we are currently trying to retrospectively acknowledge contributors of problems.
You were identified as being involved with Square subsets [619 m] in Sep-17.
If you would like to be added as a verified contributor, please reply to this email and provide the username you currently use at projecteuler.net. Please note that contributor usernames will not appear publicly, rather they will be used internally to unlock new contributor awards we are introducing.
Regards,
Project Euler Team
Claude Opus failed to solve after trying for a while.
I used to do these in college to procrastinate my homework. I always had the most difficulty with the problems that required data structures I wasn't exposed to previously and ended up making really complicated solutions that were inefficient as hell, but fun nonetheless.
I might give them a try with golang now that it's my preferred language. I used to do them in python as that was our intro language.
I'm so happy to have spent twenty years of my life learning math and solving problems on Project Euler and elsewhere.
That means one of the total sum of possible car plates is 26^3.
Since we want to find pairs (x, y) that x + y = 1000. That means the total sum would also add up sum([1 for x in range(1000) for y in range(1000) if x + y == 1000])/2 since there is a symmetry.
But wait, find the expected number of plates he needs to see for a win. So maybe we need to borrow something from statistics (Possion/chi-squared distribution) or queueing theory...?
Edit: ah I saw the solution, it is a Markov chain.
Beyond a certain point, most required some knowledge of elementary number theory.
There is only very basic info here: https://en.wikipedia.org/wiki/Project_Euler
This article is excellent. It mentions the creator, Colin Hughes, and the story behind the project, but it boils down to a passion project for him.
That said, raw brute force often did far better than you'd like to admit.
A real gem of a resource.
Also a great way to learn a new programming language is to try project Euler problems with it.
I created a PDF version that I keep on my Remarkable for puzzling: https://github.com/pveierland/project_euler_offline