* sorting/shell_sort:
add stats for algo 2 and use milliseconds
create a duplicate array
added new shell-sort algorithm
updating DIRECTORY.md
+a much faster fibonacci computation algorithm
print hashes in HEX
add commandline option to FibonacciDP.c
print hashes in HEX
add commandline option to FibonacciDP.c
# Project Euler solutions
## [Problem 08](https://projecteuler.net/problem=8)
* `sol1.c1` uses brute-force method, reads the digits `num_digits` times. It requires `num_digits^2` multiplication operations.
* `sol2.c` is optimized and requires only one read and `num_digits` multiplications and `num_digits` divisions.
## [Problem 09](https://projecteuler.net/problem=9)
Two solution - `sol1.c` uses brute force search and `sol2.c` simplifies the search by creating relations of two unknowns `b` and `c` in terms of the search parameter `a`.
## [Problem 10](https://projecteuler.net/problem=10)
* update `.gitignore` to ignore build outputs (*.exe files on windows OS) and visual studio code config folder.
* `sol1.c` uses brute force sequential method to search for primes and requires multiple loops.
* `sol2.c` uses Sieve of Eratosthenes to simplify the search for primes.
## [Problem 12](https://projecteuler.net/problem=12)
* compute triangle numbers on the fly and uses a half-loop search for divisors.
## [Problem 13](https://projecteuler.net/problem=13)
* implemented using numbers of arbitrary length, limited only by memory constrains and time.
## [Problem 14](https://projecteuler.net/problem=14)
* optimized solution with an option to compile using OpenMP for parallelization
## [Problem 15](https://projecteuler.net/problem=15)
* compute triangle numbers on the fly and uses a half-loop search for divisors.
## [Problem 16](https://projecteuler.net/problem=16)
* computes any power of 2 and the sum of its digits.