diff --git a/algorithms/CPlusPlus/README.md b/algorithms/CPlusPlus/README.md index 8b3d72ed..846bd0b6 100644 --- a/algorithms/CPlusPlus/README.md +++ b/algorithms/CPlusPlus/README.md @@ -184,6 +184,7 @@ - [Tower of Hanoi](Recursion/towerofHanoi.cpp) - [Factorial](Recursion/factorial.cpp) +- [Fibonacci](Recursion/fibonacci.cpp) - [Permutation](Recursion/permutation.cpp) - [GCD/HCF of two numbers](Recursion/GCD-of-two-numbers.cpp) - [Sum of all elements of an array](Recursion/Sum-of-all-elements-in-an-array.cpp) diff --git a/algorithms/CPlusPlus/Recursion/fibonacci.cpp b/algorithms/CPlusPlus/Recursion/fibonacci.cpp new file mode 100644 index 00000000..30e2953d --- /dev/null +++ b/algorithms/CPlusPlus/Recursion/fibonacci.cpp @@ -0,0 +1,24 @@ +/* + Description: Program to calculate fibonacci using recursion +*/ +#include +using namespace std; + +int RecursiveFibonacci(int number) +{ + if(number == 1 || number == 2) + return 1; + + if(number >= 3) + return RecursiveFibonacci(number - 1) + RecursiveFibonacci(number - 2); + + return 0; +} + +int main(int argc, char *argv[]) +{ + int number = 10; + int result = RecursiveFibonacci(number); + cout <<"Fibonacci of " <