Introdução ao fatorial em R

O produto de todos os números de um a um número especificado é chamado fatorial de um número especificado. O número seguido por! símbolo indica fatorial de um número, significa! um símbolo usado indica fatorial. A fórmula usada para encontrar o fatorial de n número é n! = n * (n - 1) * (n - 2) * (n - 3)…. Vamos ver alguns exemplos para encontrar fatorial -

O fatorial de 0 = 0! = 1.

O fatorial de 1 = 1! = 1.

O fatorial de 2 = 2! = n * (n - 1) = 2 * (2-1) = 2 * 1 = 2.

O fatorial de 3 = 3! = n * (n - 1) * (n - 2) = 3 * (3-1) * (3-2) = 3 * 2 * 1 = 6.

O fatorial de 4 = 4! = n * (n - 1) * (n - 2) * (n - 3) = 4 * (4-1) * (4-2) * (4-3) = 4 * 3 * 2 * 1 = 24 .

O fatorial de 5 = 5! = n * (n - 1) * (n - 2) * (n - 3) * (n - 4) = 5 * (5-1) * (5-2) * (5-3) * (5 - 4) = 5 * 4 * 3 * 2 * 1 = 120. E assim por diante.

Como no cálculo acima, vimos que o fatorial de 0 é 1, enquanto o fatorial do número negativo não está definido, em R obtemos NAN como a saída para fatorial do número negativo.

Como encontrar o fatorial na programação R?

Aqui discutiremos o programa para calcular o fatorial usando vários métodos.

Exemplo # 1 - Fatorial usando a instrução if-else

facto <- function()(
# accept the input provided by the user and convert to integer
no = as.integer( readline(" Input a number to find factorial : "))
fact = 1
# checking whether the number is negative, zero or positive
if(no < 0) (
print(" The number is negative the factorial does not exist. ")
) else if(no == 0) (
print(" The factorial result is 1 ")
) else (
for( i in 1:no) (
fact = fact * i
)
print(paste(" The factorial result is ", no, "is", fact ))
)
)
facto()

A saída do código acima para número positivo–

A saída do código acima para número negativo–

No código acima, a instrução if-else verifica primeiro se o no é negativo ou não, se o no é negativo significa que nenhuma condição <0 é verdadeira, em seguida, será exibida a exibição "O número é negativo, o fatorial não existe", Considerando que se a condição for false, a condição else if no == 0 verifica a condição, se for verdadeira a exibição de saída “O fatorial é 1”; caso contrário, com o loop for, calcule o fatorial e exiba o valor calculado como saída.

Exemplo # 2 - fatorial using for loop

facto <- function()(
no = as.integer( readline(prompt=" Enter a number to find factorial : "))
fact = 1
for( i in 1:no) (
fact = fact * i
)
print(paste(" The factorial of ", no, "is", fact ))
)
facto()

A saída do código acima -

No código acima, é apenas encontrar o fatorial sem verificar se o número é negativo ou não.

Exemplo # 3 - Fatorial usando o método de recursão

fact <- function( no ) (
# check if no negative, zero or one then return 1
if( no <= 1) (
return(1)
) else (
return(no * fact(no-1))
)
)

A saída do código acima para número positivo–

A saída do código acima para número negativo–

A saída do código acima para o número zero -

A saída do código acima para número positivo–

O código acima, usando a função recursiva fact (), dentro da função fact (), o fatorial encontra por produto de cada número recursivamente pelo retorno da linha (no * fact (no-1)). Suponha que chamamos função de fato como fato (7) e, em seguida, a função fato () recursivamente, conforme apresentado abaixo -

no = 7

if (nenhum falso

retornar no * fato (no-1) => 7 * fato (6) => 7 * 6 * fato (5) => => 7 * 6 * 5 * fato (4) => 7 * 6 * 5 * 4 * fato (3) => 7 * 6 * 5 * 4 * 3 * fato (2) => 7 * 6 * 5 * 4 * 3 * 2 * fato (1) => 7 * 6 * 5 * 4 * 3 * 2 * 1 => 5040. Portanto, o resultado final é 5040.

Exemplo # 4 - Fatorial usando a função interna

A função fatorial () é a função interna da linguagem R que é usada para calcular o fatorial de um número. A sintaxe da função é -

fatorial (não)

vetor numérico

Alguns dos exemplos da função fatorial (no) com parâmetros diferentes -

# find the factorial of -1
> factorial(-1)
(1) NaN
# find the factorial of 0
> factorial(0)
(1) 1
# find the factorial of 1
> factorial(1)
(1) 1
# find the factorial of 7
> factorial(7)
(1) 5040
# find the factorial for vector of each elements 2, 3, 4
> factorial(c(2, 3, 4))
(1) 2 6 24

Conclusão

  • O produto de todos os números de 1 ao número especificado é chamado fatorial de um número especificado.
  • A fórmula ou lógica usada para encontrar o fatorial de n número é n! = n * (n - 1) * (n - 2) * (n - 3)….
  • O fatorial de 0 é 1, o fatorial de todo número negativo não é definido em R emite NAN.
  • Na linguagem R, o fatorial de um número pode ser encontrado de duas maneiras: uma é usá-los para loop e outra é usando recursão (chame a função recursivamente).

Artigos recomendados

Este é um guia para o fatorial em R. Aqui discutimos a introdução do fatorial em R juntamente com os programas com exemplos. Você também pode consultar nossos outros artigos sugeridos para saber mais:

  1. Fatorial em Python
  2. Fatorial em C
  3. Número reverso em C
  4. Fatorial em PHP
  5. Função Recursiva em JavaScript

Categoria: