+92 332 4229 857 99ProjectIdeas@Gmail.com

Factorial through recursion (C++ Tutorial)


Factorial through recursion
factorialRecursive() calculates the factorial of a number recursively.
For example,
If the number is 0, then this function will return 1,
If the number is 1, then this function will return 1,
If the number is 2, then this function will return 2,
If the number is 3, then this function will return 6,
If the number is 4, then this function will return 24,
If the number is 5, then this function will return 120,
If the number is 6, then this function will return 720,
If the number is 7, then this function will return 5040,
If the number is 8, then this function will return 40320,
If the number is 9, then this function will return 362880.
Code of factorialRecursive()

unsigned long factorialRecursive( unsigned long number )
{
      if ( number == 0 || number == 1 )
            return 1;
      else
            return number * factorialRecursive( number - 1 );
}
Summary of factorialRecursive()
factorialRecursive() is a recursive function with 2 parts;
first part is the base case – if the number is equal to 0 or 1, then this function will return 1.
factorialRecursive ( 0 ) = 1
factorialRecursive ( 1 ) = 1
Second part consists of recursive calls as mentioned below:
number * factorialRecursive( number - 1 )
Example (C++)
#include "stdafx.h"
#include "iostream"
#include "conio.h"

using namespace std;

unsigned long factorialRecursive( unsigned long number )
{
      if ( number == 0 || number == 1 )
            return 1;
      else
            return number * factorialRecursive( number - 1 );
}

int main()
{
      for( unsigned long i = 0; i < 10; i++  )
            cout << i << "!" << factorialRecursive( i ) << endl;
      cout << endl;

      _getche();
      return 0;
}
Output
0!1
1!1
2!2
3!6
4!24
5!120
6!720
7!5040
8!40320
9!362880

0 comments: