mirror of
https://github.moeyy.xyz/https://github.com/TheAlgorithms/C.git
synced 2023-10-11 15:56:24 +08:00
Merge pull request #287 from moinak878/Fibonacci-using-DP
Fixes Issue #284
This commit is contained in:
commit
78d815c795
44
misc/FibonacciDP.c
Normal file
44
misc/FibonacciDP.c
Normal file
@ -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;
|
||||
}
|
Loading…
Reference in New Issue
Block a user