A collection of my solutions to problems from the Project Euler platform using modern C++.
This repository focuses on:
- Algorithmic problem solving
- Mathematical programming
- Numerical analysis
- Optimization techniques
- Efficient computation on large numbers
- Time complexity improvement
- Exploring performance limits of C++
This repository includes problems involving:
- Prime number generation
- Sieve algorithms
- Dynamic programming
- Memoization
- Number theory
- Recursion
- Combinatorics
- Big integer manipulation
- Mathematical sequences
- Brute-force optimization
- Search space reduction
- Computational mathematics
| Problem | Main Concepts |
|---|---|
| Longest Collatz Sequence | Memoization, Dynamic Programming |
| Summation of Primes | Sieve of Eratosthenes |
| Highly Divisible Triangular Number | Divisor Counting, Prime Factorization |
| Largest Prime Factor | Number Theory |
| Distinct Powers | Sets, Exponentiation |
| Special Pythagorean Triplet | Mathematical Search Optimization |
Project_Euler/
│
├── Longest Collatz Sequence.cpp
├── Summation of Primes.cpp
├── Largest Prime Factor.cpp
├── Distinct Powers.cpp
├── ...
Some solutions include optimizations such as:
- Memoization to avoid repeated computations
- Prime sieves instead of naive primality checks
- Efficient divisor counting using prime factorization
- Reduced brute-force search spaces
- Complexity-aware implementations
- Large integer handling strategies
Most files contain:
- Problem title
- Short explanation of the approach
- Algorithmic improvements
- Complexity considerations
- Clean and readable implementation
Example:
// Project Euler - Problem 14: Longest Collatz Sequence
// Uses memoization to cache previously computed chain lengthsThis repository was created to:
- Strengthen mathematical problem-solving skills
- Improve algorithmic thinking
- Practice optimization techniques
- Explore computational efficiency in C++
- Develop cleaner and more structured implementations over time
Compile using g++:
g++ filename.cpp -O2Run:
./a.outSome problems contain multiple implementation attempts and evolving optimizations, reflecting the process of improving both mathematical reasoning and programming efficiency over time.
Planned future additions:
- More Project Euler problems
- Benchmark comparisons
- Alternative optimized solutions
- Additional mathematical notes
- Complexity analysis for all problems