Home »
PHP »
PHP Programs
PHP | Factorial of a number
Learn, how to find factorial of a given number using PHP program?
By IncludeHelp Last updated : December 22, 2023
Factorial of a number: An Introduction
Factorial of a number is the product of all numbers starting from 1 up to the number itself. Factorial can be calculated for positive integers only. Factorial of 0 is always 1.
- Factorial of 0 is 0
- Factorial of 1 is 1
- Factorial of 2 is 2
- Factorial of 3 is 6
- Factorial of 4 is 24
- Factorial of 5 is 120
- Factorial of 6 is 720
- Factorial of 7 is 5040
- Factorial of 8 is 40320
- Factorial of 9 is 362880
- Factorial of 10 is 3628800
Formula to calculate factorial
The formula to calculate the factorial of a number (n) is:
n! = n × (n−1) × (n−2) × ... × 3 × 2 × 1
For example:
5! = 5 × 4 × 3 × 2 × 1 = 120
0! = 1
1! = 1
2! = 2 x 1 = 2
3! = 3 x 2 x 1 = 6
4! = 4 x 3 x 2 x 1 = 24
5! = 5 x 4 x 3 x 2 x 1 = 120
6! = 6 x 5 x 4 x 3 x 2 x 1 = 720
7! = 7 x 6 x 5 x 4 x 3 x 2 x 1 = 5040
8! = 8 x 7 x 6 x 5 x 4 x 3 x 2 x 1 = 40320
9! = 9 x 8 x 7 x 6 x 5 x 4 x 3 x 2 x 1 = 362880
10! = 10 x 9 x 8 x 7 x 6 x 5 x 4 x 3 x 2 x 1 = 3628800
Problem statement
Given a number, you have to write PHP program to calculate the factorial of the given number.
1. Calculating factorial using loop
The simple approach is to calculate factorial using the loop and calculate numbers from 1 to up to the given number.
PHP code to find the factorial of a number using loop
<?php
//program to find factorial of a number
//here, we are designing a function that
//will take number as argument and return
//factorial of that number
//function: getFactorial
function getFactorial($num)
{
//declare a variable and assign with 1
$factorial = 1;
for ($loop = 1; $loop <= $num; $loop++) {
$factorial = $factorial * $loop;
}
return $factorial;
}
//Main code to test above function
$number = 1;
print "Factorial of " . $number . " is = " . getFactorial($number) . "\n";
$number = 2;
print "Factorial of " . $number . " is = " . getFactorial($number) . "\n";
$number = 3;
print "Factorial of " . $number . " is = " . getFactorial($number) . "\n";
$number = 4;
print "Factorial of " . $number . " is = " . getFactorial($number) . "\n";
$number = 5;
print "Factorial of " . $number . " is = " . getFactorial($number) . "\n";
?>
Output
Factorial of 1 is = 1
Factorial of 2 is = 2
Factorial of 3 is = 6
Factorial of 4 is = 24
Factorial of 5 is = 120
2. Calculating factorial using recursion function
Another approach is to use the recursion function to calculate the factorial. In this method, we will call the method itself to get the result.
PHP code to find the factorial of a number using recursion function
<?php
// Recurion function: getFactorial
function getFactorial($num)
{
if ($num <= 1) {
return 1;
} else {
return $num * getFactorial($num - 1);
}
}
//Main code to test above function
$number = 1;
print "Factorial of " . $number . " is = " . getFactorial($number) . "\n";
$number = 2;
print "Factorial of " . $number . " is = " . getFactorial($number) . "\n";
$number = 3;
print "Factorial of " . $number . " is = " . getFactorial($number) . "\n";
$number = 4;
print "Factorial of " . $number . " is = " . getFactorial($number) . "\n";
$number = 5;
print "Factorial of " . $number . " is = " . getFactorial($number) . "\n";
?>
Output
Factorial of 1 is = 1
Factorial of 2 is = 2
Factorial of 3 is = 6
Factorial of 4 is = 24
Factorial of 5 is = 120
To understand the above examples,, you should have the basic knowledge of the following PHP topics:
PHP Basic Programs »