Write A C++ Program To Find Factorial of A Number in C.
Write A C++ Program To Find Factorial of A Number in C.
Recursive Solution
Factorial can be calculated using the following recursive formula.
n! = n * (n-1)!
n! = 1 if n = 0 or n = 1
Below is the C++ program to find the factorial of a number
using a recursive solution:
C++
// of given number
#include <iostream>
// given number
if (n == 0)
return 1;
// Driver code
int main()
int num = 5;
cout << "Factorial of " << num << " is "
return 0;
Output
Factorial of 5 is 120
The complexity of the above method
Time complexity: O(n) where n is the length of the string.
Auxiliary Space: O(n)
Iterative Solution
Factorial can also be calculated iteratively as recursion can be
costly for large numbers. Here we have shown the iterative
approach using both for and while loops.
C++
// of a number
#include <iostream>
int res = 1, i;
res *= i;
return res;
// Driver code
int main()
int num = 5;
return 0;
Output
Factorial of 5 is 120
The complexity of the above method
Time complexity: O(n)
Auxiliary Space: O(1)
2. Using While loop
C++
// of a number
#include <iostream>
if (n == 0)
return 1;
int i = n, fact = 1;
while (n / i != n) {
fact = fact * i;
i--;
return fact;
}
// Driver code
int main()
int num = 5;
return 0;
Output
Factorial of 5 is 120
The complexity of the above method
Time complexity: O(n)
Auxiliary Space: O(1)
Using Ternary Operator
Below is the C++ program to find the factorial of a given number
using the ternary operator:
C++
// of given number
#include <iostream>
using namespace std;
int factorial(int n)
return ((n == 1 || n == 0) ? 1 :
n * factorial(n - 1));
// Driver Code
int main()
int num = 5;
factorial(num);
return 0;
C++
// by reference method
#include<iostream>
int i;
*f = (*f) * i;
}
// Driver code
int main()
factorial(num, &fact);
fact;
return 0;
Output
Factorial of 5 is 120