## Dynamic Programming

Dynamic Programming
Dynamic programming is a technique of solving a problem by first solving the smallest version of that problem, and using that result to solve the next smallest version, until arriving at the original problem.
For example, to calculate the factorial of 5, first get the factorial of 1, which is given, and multiply that by 2 to get the factorial of 2. Then multiply that result by 3 to get the factorial of 3, etc.
Project 1: Fibonacci Sequence
Template: Click this link, fork, and invite mrcodeswildride: new project
Hint: Make an array to store each term. Initialize the array with the first two terms, and use a loop to add more terms to the array.
Project 2: Calculating Pi
Template: Click this link, fork, and invite mrcodeswildride: new project
Hint: Calculate the circumference of the inscribed polygons.
Project 3: Finding Primes
Template: Click this link, fork, and invite mrcodeswildride: new project
Hint: Use the sieve of Eratosthenes.
Project 4: Calculating Square Roots
Template: Click this link, fork, and invite mrcodeswildride: new project
Hint: Use the long division method.
Project 5: Pascal's Triangle
Template: Click this link, fork, and invite mrcodeswildride: new project