# Factorial program in c++

Factorial program in c++ is a simple program which is cpp program to find factorial of number in C++.

In this tutorial we will see program to find factorial in cpp,Factorial of given number is the mathematical problem.

Factorial of a number

Factorial of a number N is calculated as N!.

Syntax to find factorial of a number

factorial

N! => N*(N-1)*(N-2)….

Example:

Find factorial

calculate 6 factorial

6! =6*5*4*3*2*1 =720

factorial of a number 6 is 720.

Using this technique we implement the factorial in cpp.

We implement factorial program in cpp in three ways as :

1. Factorial using for loop
2. Factorial using recursion
3. Factorial  using function.

Lets see Factorial in cpp

Factorial using for loop

This is first method using which we implement the factorial.

In this technique, we use the iterative loop as for loop to iterate and multiply the number up to N-1.

## Write a program to find factorial of a number

Output :

Explanation :

Factorial using for loop

1. Execution starts with the main method.

2. Declare variables

c,fact = > temporary variables

n => to store number

3. First we take input number which user want to find factorial

cin>>n;  =>  n=3

4. Next we calculate the factorial using for loop

for (c=1;c<=n;c++)

At Iteration 1 :

c=1, 1<=3 condition true loop executed

fact=fact*c; => fact= 1

At Iteration 2 :

c=2, 2<=3 condition true loop executed

fact=fact*c; => fact= 2

At Iteration 3 :

c=3, 3<=3 condition true loop executed

fact=fact*c; => fact= 6

At Iteration 4 :

c=4, 4<=3 condition false

5. Print the factorial of number.

=> cout<<“Factorial of “<<n<<“= “<<fact;

Factorial using recursion

Recursion : This is second method using which we implement program to find factorial.

In this technique, we recursively call the same function to find factorial.

What  is Recursion : Function calling itself is referred as recursion.

## Factorial program in c++ using recursion

Output :

Explanation :

Factorial using recursion

1. Execution starts with the main method.

2. Declare variables

n => to store number

f => to store factorial

3. First we take input number which user want to find factorial

cin>>n;  =>  n=3

4. Next we check number is valid

if (n < 0) condition false

else executed

5. We call recursive function

f = factorial(n) => factorial(3)

6 . Control transferred to function

long factorial(int n) {

if (n == 0)    condition false

else

return(n * factorial(n-1));

=> 3*factorial(2); => function get call itself with n=2

we get value 6 => 3*factorial(2); => function get call itself with n=1

we get value 6 => 3*factorial(1); => function get call itself with n=0

if (n == 0)    condition true retur 1;

=> 1*2*3  each function call returns multiplication to main

}  => returns 6 to main

7. Print factorial of number returned by function

=>  cout<<n<<“! = “<<f;

Factorial using function

This is third method using which we implement the factorial.

Function  : Function is a block of statement.

## Factorial program in c++ using function

Output :

Explanation :

Factorial using function

1. Execution starts with the main method.

2. Declare variables

number => to store number

fact => to store factorial

3. First we take input number which user want to find factorial

cin>>number; =>  number=3

4. Next call the user defined function factorial(number)

long factorial(int n) => factorial(int 3)

c => teary local variable

result = 1 => store result local variable

for (c = 1; c <= n; c++)

At Iteration 1 :

c=1, 1<=3 condition true loop executed

result = result * c;  => result =1

At Iteration 2 :

c=2, 2<=3 condition true loop executed

result = result * c;  => result =2

At Iteration 3 :

c=3, 3<=3 condition true loop executed

result = result * c;  => result =6

At Iteration 4 :

c=4, 4<=3 condition false

return result; => returns 6 to main function

7. Print factorial of number returned by function