Factorial Program in PHP

Factorial of a number is the product of all numbers starting from 1 up to the number itself. While calculating the product of all the numbers, the number is itself included.

Factorial of a number is calculated for positive integers only. The factorial of 0 is always 1 and the factorial of a negative number does not exist. It is denoted by ‘!’ preceded by the number. Example n! where n is the number

So,

Factorial of 5! means factorial of 5

Factorial of 7! means factorial of 7

For example, the factorial of number 5 is:

5! =5*4*3*2*1 = 120

Similarly, the factorial of number 7 is:

7! = 7*6*5*4*3*2*1 = 5040

and so on..

Now how do we actually find the factorial, we can do it using

  1. for loop (without recursion)
  2. with recursion

Factorial Logic

The logic behind getting the factorial of the number is as per the following.

  1. Get the number whose factorial is to be calculated.
  2. Get all the numbers starting from 1 up to that number.
  3. Get the multiplication of all the numbers.

Remember the factorial of 0! = 1.

 Example:1 

fact.php -program name

<?php

//example to calculate factorial of a number using simple for loop

//declaring the input number as 5

$input=5;

//declaring the fact variable as 1

$fact =1;

//iterating using for loop

for($i=$input; $i>=1;$i--) {

// multiply each number up to 5 by its previous consecutive number

$fact = $fact * $i;

}

// Print output of the program

echo '<br>'. 'The factorial of the number 5 is '. $fact

?>

Example :2

In the below program, we have used a simple HTML form with an input text and a submit button. The input box is used to get user input. The submit button is used to submit the form data. Followed by that is the PHP code to iterate for loop wherein all the logic is present, which we learned in the previous program. So now the same logic is used with an input form.

If the user inputs a positive number through the input box in the form, the factorial of that number is calculated and the result is printed.

facto.php-program name

<html>

<head>

<title> Factorial Program</title>

</head>

<body>

<form method="POST">

<label>Enter a number</label>

<input type="text" name="number" />

<input type="submit" name="submit" value="Submit" />

</form>

<?php

// example to demonstrate factorial of a number using form

if($_POST) {

$input = $_POST['number'];

$fact=1;

//iterating using for loop

for($i=$input; $i>=1;$i--) {

$fact = $fact * $i;

}

// Print output of the program

echo '<br>'. 'The factorial of the number '.$input.' is ' . $fact;

}

?>

</body>

</html>

Example:3

We know that recursion is calling a function within a function. In the following example, we will use recursion and find the factorial of the number using PHP code. The main logic is wrapped in a function name Factorial_Function. Within this function if the input is greater that one, then the same function is called again and if the input is less than or equal to 1 then one is returned.


<?php

//Example to demonstrate factorial of a number using recursion

//function containing logic of factorial

function Factorial_Function($input)

{

// if the input is less than or equal to 1 then return

if($input <=1) {

return 1;

}

// else do a recursive call and continue to find the factorial

return $input * Factorial_Function($input-1);  //doing a recursive call

}

echo "Factorial of 9 is ".Factorial_Function(9);

?>

Comments

Popular posts from this blog

How to create Animated 3d chart with R.

Linux/Unix Commands frequently used

R Programming Introduction