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 :
- Factorial using for loop
- Factorial using recursion
- 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
123456789101112131415161718192021 | #include <iostream>using namespace std;int main(){int c, n, fact = 1; cout<<“Enter a number to calculate its factorial\n”; cin>>n;for (c=1;c<=n;c++) fact=fact*c; cout<<“Factorial of “<<n<<“= “<<fact;return 0;} |
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
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | #include <iostream>using namespace std;long factorial(int);int main(){ int n; long f;cout<<“Enter an integer to find its factorial\n”; cin>>n;if (n < 0) cout<<“Factorial of negative integers isn’t defined.\n”; else { f = factorial(n); cout<<n<<“! = “<<f; }return 0;}long factorial(int n){ if (n == 0) return 1; else return(n * factorial(n-1));} |
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
123456789101112131415161718192021222324252627282930313233343536373839 | #include <iostream>using namespace std;long factorial(int);int main(){ int number; long fact = 1;cout<<“Enter a number to calculate its factorial\n”; cin>>number; cout<<number<<“! = “<<factorial(number);return 0;}long factorial(int n){ int c; long result = 1; for (c = 1; c <= n; c++) result = result * c; return result;} |
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