C++ Examples

C++ Program - Find Factorial of a Number



The factorial of a positive integer is the multiplication of all positive integer less than or equal to that number.

factorial of number n = n! = n(n-1)(n-2)...1

For Example:

5! = 5 × 4 × 3 × 2 × 1 = 120

4! = 4 × 3 × 2 × 1 = 24

Method 1: Using Recursive method

In the example below, a recursive function called factorial() is used to calculate factorial of a number.

#include <iostream>
using namespace std;

static int factorial(int);

static int factorial(int x) {
  if (x == 0 || x == 1)
    return 1;
  else 
    return x*factorial(x-1);   
}

int main(){
  cout<<"10! =  "<<factorial(10)<<"\n";
  cout<<"6! =  "<<factorial(6)<<"\n";
  return 0;
}

The above code will give the following output:

10! =  3628800
6! =  720

Method 2: Using Iterative method

The factorial of a number can also be calculated using iterative method.

#include <iostream>
using namespace std;

static int factorial(int);

static int factorial(int x) {
  int finalnum = 1;
  for(int i = x; i > 0; i--) {
    finalnum = finalnum * i;
  }
  return finalnum;  
}

int main(){
  cout<<"10! =  "<<factorial(10)<<"\n";
  cout<<"6! =  "<<factorial(6)<<"\n";
  return 0;
}

The above code will give the following output:

10! =  3628800
6! =  720

Method 3: Using Ternary Operator

In the example below, the factorial of a number is calculated using ternary operator.

#include <iostream>
using namespace std;

static int factorial(int);

static int factorial(int x) {
  int y = (x == 0 || x == 1)? 1 : x*factorial(x-1);
  return y;  
}

int main(){
  cout<<"10! =  "<<factorial(10)<<"\n";
  cout<<"6! =  "<<factorial(6)<<"\n";
  return 0;
}

The above code will give the following output:

10! =  3628800
6! =  720