Recursive Functions in C++

Recursive Functions

Example -- Factorial

#include<iostream>
using namespace std;

//function prototype
int factorial(int n);

int main()
{
      //function activation
      cout << factorial(8) << endl;
      return 0;
}

//function definition
int factorial(int n)
{
     if(n == 0)                //base case
     	return 1;
      
     return n*factorial(n-1);   //recursive case
}
factorial.cpp

Example - Fibonacci

#include<iostream>
using namespace std;

//function prototype
int fibonacci(int n);

int main()
{
      //function activation
      cout << fibonacci(5) << endl;
      cout << fibonacci(12) << endl;
      cout << fibonacci(30) << endl;

      return 0;
}

//function definition
int fibonacci(int n)
{
     if(n <= 1)                //base case
     	return n;
      
     return fibonacci(n-1) + fibonacci(n-2);   //recursive case
}
fibonacci.cpp
Important notes:

Recursion vs Iteration


Reference

https://www.geeksforgeeks.org/difference-between-recursion-and-iteration/