ProjectEuler.jl : A package that allows offline access to challenging mathematical problems from Project Euler through Julia’s REPL. It is a valuable resource for those looking to improve their Julia programming skills while solving interesting mathematical problems.
Why this package?
Julia is a versatile multi-purpose programming language with a thriving community of contributors (as evidenced by projects curated on https://juliapackages.com) that speak of its applications in nearly all aspects of computing. However, it truly shines in the field of SCIENTIFIC COMPUTING. Even those who criticize Julia cannot deny its power and speed in this domain. Julia is undoubtedly one of the top three scientific computing languages for high-performance numerical analysis and computational science in the 21st century. It has even earned a place in the exclusive petaflop club of programming languages, which speaks volumes about its capabilities. Simply put, if you need a language that can handle the most complex scientific computations with ease, Julia is an excellent choice.
With the above, I have been wrapping my head around the idea that most mathematicians (of the present-day and future) would really have no choice but to use Julia, as it is faster and easier to use than its counterparts. This implies that more mathematicians and people involved in computational science would be working with Julia. To make up for this, we decided to create a package that basically just web scrapes (legally) https://projecteuler.net and brings its thought-provoking mathematical problems to Julia’s versatile REPL.
Who does it benefits?
With this package:
Mathematicians and computational scientists using Julia can solve the problems in their spare time for fun without leaving the Julia REPL.
Members of the https://projecteuler.net platform who solve the problems using Julia can view the problems from the REPL and then leave the REPL only to submit their answer (a feature we’re looking forward to adding if it does not infringe on https://projecteuler.net copyright laws).
Newbies and beginners to the Julia programming language can also practice with these problems as they learn the programming language, honing their Julia programming skills and developing problem-solving skills along the way.
What are the limitations of the package?
The two big limitations of the package are that, although Julia’s REPL is very versatile compared to what is available in the computing space, it still has some limitations that hinder the package:
Complex mathematical equations involving fractions and other esoteric mathematical equations cannot be rendered correctly in the REPL.
Images cannot be rendered in the Julia REPL.
If you know of any package or a way to solve either of these limitations, please provide your suggestion here, or as an issue, pull request, or discussion in the package repository.
As always within the Julia community, contributions of any form to the package are welcome and appreciated. Please open an issue, pull request, or discussion in the package repository to discuss your contribution.