Google News
logo
C++ Program to Find Factorial
The factorial of a positive integer n is equal to 1*2*3*...n. You will learn to calculate the factorial of a number using for loop in this example.

The factorial of a number is the product of all the integers from 1 up to that number. The factorial can only be defined for positive integers.

The factorial of a negative number doesn't exist. And the factorial of 0 is 1.

For example :

The factorial of a positive number n, say 5, is denoted by 5! and is given by :
5! = 1 * 2 * 3 * 4 * 5 = 120​
So, the Mathematical logic for factorial is :
n! = 1 * 2 * 3 * ... * n
n! = 1 if n = 0 or n = 1​
In this program, the user is asked to enter a positive integer. Then the factorial of that number is computed and displayed on the screen.

Find the Factorial of a Given Number :

Program :
#include <iostream>
using namespace std;

int main() {
    int n;
    long factorial = 1.0;

    cout << "Enter a positive integer: ";
    cin >> n;

    if (n < 0)
        cout << "Error! Factorial of a negative number doesn't exist.";
    else {
        for(int i = 1; i <= n; ++i) {
            factorial *= i;
        }
        cout << "Factorial of " << n << " = " << factorial;    
    }

    return 0;
}
Output :
Enter a positive integer: 4
Factorial of 4 = 24
* In this program, we take a positive integer from the user and compute the factorial using for loop. We print an error message if the user enters a negative number.

* We declare the type of factorial variable as long since the factorial of a number may be very large.

* When the user enters a positive integer (say 4), for loop is executed and computes the factorial. The value of i is initially 1.

* The program runs until the statement i <= n becomes false. This prints Factorial of 4 = 24 on the screen. Here’s how the program executes when n = 4.

i <= 4 fact *= i
1 <= 4 fact = 1 * 1 = 1
2 <= 4 fact = 1 * 2 = 2
3 <= 4 fact = 2 * 3 = 6
4 <= 4 fact = 6 * 4 = 24
5 <= 4 Loop terminates.