Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions misc/FibonacciDP.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
//Fibonacci Series using Dynamic Programming

/* Author: Moinak Banerjee(moinak878)
Date : 1 October ,2019
*/

#include<stdio.h>
#include<stdlib.h>

int fib(int n)
{
//Out of Range checking
if(n<0){
printf("\nNo Such term !\n");
exit(0);
}
//declaring array to store fibonacci numbers -- memoization
int f[n+2]; // one extra to handle edge case, n = 0
int i;

/* let 0th and 1st number of the series be 0 and 1*/
f[0] = 0;
f[1] = 1;

for (i = 2; i <= n; i++)
{
// Adding the previous 2 terms to make the 3rd term
f[i] = f[i-1] + f[i-2];
}

return f[n];
}

int main(){
int number;

//Asks for the number/position of term in Fibonnacci sequence
printf("Enter the value of n(n starts from 0 ): ");
scanf("%d", &number);

printf("The nth term is : %d \n", fib(number));

return 0;
}