ProjectEuler.jl

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
Popularity
19 Stars
Updated Last
5 Months Ago
Started In
April 2023

Installing

To install and use, follow these steps:

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

julia> using ProjectEuler

Usage

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

question

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 https://projecteuler.net. 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)

Contributing

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 https://projecteuler.net.

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!

Package Status

I regret to inform you that, due to time constraints, I am no longer able to maintain the package/repository in question. I have thoroughly enjoyed working on it and providing updates thus far.

However, I believe in the power of open-source collaboration and would like to offer an opportunity to anyone who is passionate about maintaining this package/repository to take over its ownership. If you are interested in becoming the new maintainer, kindly notify me, and I will gladly transfer ownership to you.

I appreciate your understanding and support throughout this journey. Thank you.

Used By Packages

No packages found.