Introducción a Factorial en PHP

Antes de comenzar a aprender Factorial en PHP, comprendamos el término factorial. El factorial de un número es el producto de todos los números, desde 1 hasta el número mismo. Al calcular el producto de todos los números, el número se incluye a sí mismo.

El factorial de un número se calcula solo para enteros positivos. El factorial de 0 es siempre 1 y el factorial de un número negativo no existe. Se denota por '!' precedido por el número. Ejemplo n! donde n es el número

Entonces,

Factorial de 5! significa factorial de 5

Factorial de 7! significa factorial de 7

Por ejemplo, el factorial del número 5 es:

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

Del mismo modo, el factorial del número 7 es:

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

y así..

Ahora, ¿cómo encontramos realmente el factorial, podemos hacerlo usando

  1. para bucle (sin recursividad)
  2. con recursividad

Lógica Factorial

La lógica detrás de obtener el factorial del número es la siguiente.

  1. Obtenga el número cuyo factorial se calculará.
  2. Obtenga todos los números desde 1 hasta ese número.
  3. Obtenga la multiplicación de todos los números.

¡Recuerda el factorial de 0! = 1.

¿Cómo encontrar factorial en PHP?

Aprenderemos más usando diferentes métodos para calcular el factorial del número dado usando el código PHP. Como usar recursión, recursión con entrada del usuario, sin recursión, sin recursión con entrada del usuario.

Sobre la recursividad

Al igual que otros lenguajes, PHP también es compatible con Recursion. ¿Qué es la recursividad? Cuando una función se llama a sí misma se denomina recursividad. Una función recursiva se llama a sí misma dentro de la función.

Ejemplo 1

En el siguiente programa PHP se calcula el factorial del número 5. Este es un programa simple que usa for loop. Este bucle for se repite en la secuencia de números comenzando desde el número hasta llegar a 1.

Código:

<_?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 '
'. 'The factorial of the number 5 is '. $fact
?>

Salida :

Ejemplo # 2

En el siguiente programa, hemos utilizado un formulario HTML simple con un texto de entrada y un botón de enviar. El cuadro de entrada se utiliza para obtener la entrada del usuario. El botón de enviar se usa para enviar los datos del formulario. Seguido de eso está el código PHP para iterar para el bucle en el que está presente toda la lógica, que aprendimos en el programa anterior. Así que ahora se usa la misma lógica con un formulario de entrada.

Si el usuario ingresa un número positivo a través del cuadro de entrada en el formulario, se calcula el factorial de ese número y se imprime el resultado.

Código:


Factorial Program

Enter a number

// example to demonstrate factorial of a number using form
if($_POST('submit') == "Submit") (
$input = $_POST('number');
$fact=1;
//iterating using for loop
for($i=$input; $i>=1;$i--) (
$fact = $fact * $i;
)
// Print output of the program
echo '
'. 'The factorial of the number '.$input.' is ' . $fact;
)
?>
<_?php

Factorial Program

Enter a number

// example to demonstrate factorial of a number using form
if($_POST('submit') == "Submit") (
$input = $_POST('number');
$fact=1;
//iterating using for loop
for($i=$input; $i>=1;$i--) (
$fact = $fact * $i;
)
// Print output of the program
echo '
'. 'The factorial of the number '.$input.' is ' . $fact;
)
?>

Salida:

Ejemplo # 3

En los dos programas anteriores, no ajustamos la lógica dentro de una función. Aquí hemos incluido la lógica principal en una función y luego llamamos a esa función para calcular el factorial del número dado en PHP. Aquí el nombre de la función es Factorial_Function, que encuentra el factorial del número 8.

Código:

//example to calculate factorial of a number using function
//defining the factorial function
function Factorial_Function($number) (
$input = $number;
$fact=1;
//iterating using for loop
for($i=$input; $i>=1;$i--) (
$fact = $fact * $i;
)
return $fact;
)
//calling the factorial function
$result = Factorial_Function(8);
echo 'Factorial of the number 8 is '.$result;
?>

Salida :

Ejemplo # 4

Sabemos que la recursión está llamando a una función dentro de una función. En el siguiente ejemplo, usaremos recursividad y encontraremos el factorial del número usando el código PHP. La lógica principal está envuelta en un nombre de función Factorial_Function. Dentro de esta función, si la entrada es mayor que uno, se llama nuevamente a la misma función y si la entrada es menor o igual a 1, se devuelve uno.

Usando la recursión

Código:

<_?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);
?>

Salida :

Ejemplo # 5

Ahora hemos aprendido sobre la recursividad. En el siguiente programa, hemos utilizado la recursividad, la recursividad se aplica al número que es la entrada del usuario en este ejemplo.

Código:


Factorial Program

Enter a number

// example to demonstrate factorial of a number using form
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
)
if(!empty($_POST('number')))(
$input = $_POST('number');
// Print output of the program
echo '
'. 'The factorial of the number '.$input.' is ' . Factorial_Function($input);
)
?>
<_?php

Factorial Program

Enter a number

// example to demonstrate factorial of a number using form
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
)
if(!empty($_POST('number')))(
$input = $_POST('number');
// Print output of the program
echo '
'. 'The factorial of the number '.$input.' is ' . Factorial_Function($input);
)
?>

Salida:

Conclusión

Este artículo ha cubierto todas las explicaciones y ejemplos para encontrar el factorial de un número usando PHP. Los ejemplos se explican utilizando formas recursivas y no recursivas, junto con la explicación de recursión en contexto con el programa. Espero que este artículo sea informativo para aprender y comprender bien.

Artículos recomendados

Esta es una guía de Factorial en PHP. Aquí discutimos el concepto básico y cómo encontrar el factorial de un número en PHP con diferentes ejemplos. También puede consultar el siguiente artículo para obtener más información:

  1. Descripción general de las funciones matemáticas de PHP
  2. Ejemplos de funciones de cadena PHP
  3. ¿Cómo conectar la base de datos a PHP?
  4. Introducción a PHP
  5. Constantes PHP
  6. Introducción a Factorial en Java