ProjectEuler.jl is 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.
Author udohjeremiah
16 Stars
Updated Last
11 Months Ago
Started In
April 2023


To install and use, follow these steps:

julia> ] # enters the package mode
pkg> add ProjectEuler

julia> using ProjectEuler


Currently, this package provides only one function: question. However, there are plans to support two more important ones, as indicated here.


The question function takes only one argument, an Integer value, and then it returns a struct of type Problem. The content field of the returned Problem struct is edited to render it as identical as possible to its appearance on An example is shown below:

Some problems have not been edited yet because they require an image or a complex mathematical equation (which, unfortunately, Julia's REPL cannot render at present). Therefore, passing certain values to question will result in an error.

Screen Size

To fully experience all the questions, you may need to increase the width of your terminal screen to a value equal to or greater than 115. You can do this by dragging either the left or right end of your terminal.

You can use the function displaysize to view the lines (height) and columns (width) of your terminal screen. The returned tuple represents the lines and columns of your terminal screen, respectively:

julia> displaysize(stdout)
(37, 115)


We welcome contributions to this package! Users are encouraged to contribute by implementing new features and identifying/fixing bugs through pull requests (PRs) on this GitHub repository.

Currently, there are many unedited problems in the unedited_questions.txt file. We invite users with artistic skills in the REPL to take a look at these problems and see how they can render them in the Julia REPL to look exactly as they do on

When contributing, please ensure that your code adheres to the workflow and coding standards used in this package and that it is thoroughly tested. We also ask that you provide clear and concise documentation, including examples of how to use the new features.

Thank you for considering contributing to this package, and we look forward to your contributions!

Used By Packages

No packages found.