Introdução ao fatorial em PHP

Antes de começarmos a aprender fatorial em PHP, vamos entender o termo fatorial. O fatorial de um número é o produto de todos os números que começam de 1 até o próprio número. Ao calcular o produto de todos os números, o próprio número é incluído.

O fatorial de um número é calculado apenas para números inteiros positivos. O fatorial de 0 é sempre 1 e o fatorial de um número negativo não existe. É indicado por '!' precedido pelo número. Exemplo n! onde n é o número

Então,

Fatorial de 5! significa fatorial de 5

Fatorial de 7! significa fatorial de 7

Por exemplo, o fatorial do número 5 é:

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

Da mesma forma, o fatorial do número 7 é:

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

e assim por diante..

Agora, como encontramos o fatorial, podemos fazê-lo usando

  1. loop for (sem recursão)
  2. com recursão

Lógica fatorial

A lógica por trás da obtenção do fatorial do número é a seguinte.

  1. Obtenha o número cujo fatorial deve ser calculado.
  2. Obtenha todos os números começando de 1 até esse número.
  3. Obtenha a multiplicação de todos os números.

Lembre-se do fatorial de 0! = 1.

Como encontrar fatorial em PHP?

Aprenderemos mais usando métodos diferentes para calcular o fatorial do número fornecido usando o código PHP. Como usar recursão, recursão com entrada do usuário, sem recursão, sem recursão com entrada do usuário.

Sobre a recursão

Como outras linguagens, o PHP também suporta Recursão. O que é recursão? Quando uma função se chama é denominada como recursão. Uma função recursiva se chama dentro da função.

Exemplo 1

No seguinte programa PHP, fatorial do número 5 é calculado. Este é um programa simples usando o loop for. Esse loop for é iterado na sequência de números que começa no número até que 1 seja atingido.

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
?>

Saída :

Exemplo 2

No programa abaixo, usamos um formulário HTML simples com um texto de entrada e um botão de envio. A caixa de entrada é usada para obter a entrada do usuário. O botão enviar é usado para enviar os dados do formulário. A seguir, está o código PHP para iterar o loop, em que toda a lógica está presente, que aprendemos no programa anterior. Então agora a mesma lógica é usada com um formulário de entrada.

Se o usuário inserir um número positivo através da caixa de entrada no formulário, o fatorial desse número é calculado e o resultado é impresso.

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

Resultado :

Exemplo 3

Nos dois programas acima, não envolvemos a lógica em uma função. Aqui, incluímos a lógica principal em uma função e, em seguida, chamamos essa função para calcular o fatorial do número fornecido em PHP. Aqui, o nome da função é Factorial_Function, que encontra o fatorial do 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;
?>

Saída :

Exemplo 4

Sabemos que a recursão está chamando uma função dentro de uma função. No exemplo a seguir, usaremos recursão e encontraremos o fatorial do número usando o código PHP. A lógica principal está envolvida em um nome de função Factorial_Function. Dentro desta função, se a entrada for maior que uma, a mesma função será chamada novamente e se a entrada for menor ou igual a 1, será retornada uma.

Usando Recursão

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

Saída :

Exemplo 5

Agora aprendemos sobre recursão. No programa a seguir, usamos recursão, a recursão é aplicada ao número que é a entrada do usuário neste exemplo.

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

Resultado:

Conclusão

Este artigo abordou todas as explicações e exemplos para encontrar o fatorial de um número usando PHP. Os exemplos são explicados usando maneiras recursivas e não recursivas, juntamente com a explicação da recursão no contexto do programa. Espero que este artigo tenha sido informativo para aprender e entender bem.

Artigos recomendados

Este é um guia para o fatorial em PHP. Aqui discutimos o conceito básico e como encontrar o fatorial de um número no PHP com exemplos diferentes. Você também pode consultar o seguinte artigo para saber mais -

  1. Visão geral das funções matemáticas do PHP
  2. Exemplos de funções de string PHP
  3. Como conectar o banco de dados ao PHP?
  4. Introdução ao PHP
  5. Constantes PHP
  6. Introdução ao fatorial em Java