Algorithm is my aproach to an array of questions that need an algorithm to be solved. Most questions can be answered by pure math, but in this project, we strive to provide a correct answer by code and make sure that we keep on receiving a correct answer, when parameters shuold change.
Algorithm is split into a couple of categories like math, ... These categories are split into subcategories like math/prime, math/fibonacci, ...
A new release, will always provide an answer to a new question. Most questions come from Project Euler.
This project is a pure Java project that focuses on my approach to solve a problem by code. The code is written in a way that it can be used in a production environment, but it is not the main goal. The main goal is to provide a correct answer to a question and to make sure that the answer is still correct when parameters change. Clean Code is used to clean up the code, and reuse parts later on. The testing suite will test my algorithms as well as test for the correct answer to the problem.
- First of all we start by describing the problem and analysing given solutions to a smaller version of the problem.
- We create a general method that only focuses on solving the problem once.
- We create a test that tests the found and correct solution to the problem.
- We start restructure the code to make it more readable and reusable.
- We write tests to accommodate all the classes and behaviour of the restructured systems.
This code is my personal approach to solving problems. There for I will not be using branches in the beginning. This might change over time.
The development cycles are based on specific problems, and when a solution to a problem has been found, that commit will be provided with a tag. For example, the solution to problem 15 on project Euler is found, it gets the tag: Euler15.
Currently, the following categories are available:
- math
Currently, the following Euler questions are answered (The last element is the one in production or just produced):