Recursion

As we know recursion, the situation where a function is caleed from inside of that function right?

Let's have some examples,

6.7 Factorial

#include<iostream>
using namespace std;

int factorialWithLoop(int n) {
    if (n == 0) return 1;
    int fact = 1;
    for (int i=1; i <= n; i++) {
        fact *= i;
    } return fact;
}

int factorialWithRecursion(int n) {
    if (n == 0) return 1;
    return n * factorialWithRecursion(n-1);
}

int main() {
    int n = 4;
    cout << factorialWithLoop(n) << "\n";
    cout << factorialWithRecursion(n) << "\n";
}

Here both, with and without recursion, trick is shown. Let's have an another one,

6.8 Fibonacci series

The trick will return the value at that place, (don't get confused with sum of Fibonacci series)

#include<iostream>
using namespace std;

int fibonacciSeries(int n) {
    // This function will return the n'th value of the fibonacci series
    if (n == 0 || n == 1) return n;
    return fibonacciSeries(n-1) + fibonacciSeries(n-2);
}

int main() {
    int n = 10;
    cout << fibonacciSeries(n) << "\n";
}

Last updated

Was this helpful?