Introducción a Factorial en R

El producto de todos los números del uno al número especificado se llama factorial de un número específico. El número seguido por! símbolo indica factorial de un número, significa! un símbolo usado para indicar factorial. La fórmula utilizada para encontrar el factorial de n número es n! = n * (n - 1) * (n - 2) * (n - 3)…. Veamos algunos ejemplos para encontrar factorial:

El factorial de 0 = 0! = 1.

El factorial de 1 = 1! = 1.

El factorial de 2 = 2! = n * (n - 1) = 2 * (2 - 1) = 2 * 1 = 2.

El factorial de 3 = 3! = n * (n - 1) * (n - 2) = 3 * (3 - 1) * (3 - 2) = 3 * 2 * 1 = 6.

El factorial de 4 = 4! = n * (n - 1) * (n - 2) * (n - 3) = 4 * (4 - 1) * (4 - 2) * (4 - 3) = 4 * 3 * 2 * 1 = 24 .

El factorial 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. Y así sucesivamente.

Como en el cálculo anterior, hemos visto que el factorial de 0 es 1, mientras que el factorial del número negativo no está definido, en R obtenemos NAN como la salida para el factorial del número negativo.

¿Cómo encontrar factorial en la programación R?

Aquí discutiremos el programa para calcular el factorial usando varios métodos.

Ejemplo # 1 - Factorial usando la instrucción 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()

La salida del código anterior para número positivo–

La salida del código anterior para número negativo–

En el código anterior, la instrucción if-else primero verifica si el no es negativo o no, si el no es negativo significa que la condición no <0 es verdadera y luego la salida muestra "El número es negativo, el factorial no existe", mientras que si la condición es falso, entonces la condición else if no == 0 verifica, si es verdadero, la salida muestra "El factorial es 1", de lo contrario, con el bucle for calcula el factorial y muestra el valor calculado como salida.

Ejemplo # 2 - Factorial usando 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()

La salida del código anterior–

En el código anterior, es solo encontrar el factorial sin verificar si el número es negativo o no.

Ejemplo # 3 - Factorial usando el método de recursión

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

La salida del código anterior para número positivo–

La salida del código anterior para número negativo–

La salida del código anterior para número cero–

La salida del código anterior para número positivo–

El código anterior que usa la función recursiva fact (), dentro de la función fact (), el factorial está encontrando por producto de cada número recursivamente por el retorno de línea (no * fact (no-1)). Supongamos que llamamos a la función fact como fact (7) y luego a la función fact () recursivamente como se indica a continuación:

no = 7

si (no falso

retorno no * fact (no-1) => 7 * fact (6) => 7 * 6 * fact (5) => => 7 * 6 * 5 * fact (4) => 7 * 6 * 5 * 4 * fact (3) => 7 * 6 * 5 * 4 * 3 * fact (2) => 7 * 6 * 5 * 4 * 3 * 2 * fact (1) => 7 * 6 * 5 * 4 * 3 * 2 * 1 => 5040. Entonces el resultado final es 5040.

Ejemplo # 4 - Factorial usando la función incorporada

La función factorial () es la función incorporada del lenguaje R que se utiliza para calcular el factorial de un número. La sintaxis de la función es -

factorial (no)

no - vector numérico

Algunos de los ejemplos para la función factorial (no) con diferentes parámetros:

# 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

Conclusión

  • El producto de todos los números del 1 al número especificado se denomina factorial de un número especificado.
  • La fórmula o lógica utilizada para encontrar el factorial de n número es n! = n * (n - 1) * (n - 2) * (n - 3)….
  • El factorial de 0 es 1, el factorial de todos los números negativos no está definido en R, emite NAN.
  • En el lenguaje R, el factorial de un número se puede encontrar de dos maneras: una los usa para el bucle y otra forma usa la recursividad (llame a la función recursivamente).

Artículos recomendados

Esta es una guía de Factorial en R. Aquí discutimos la introducción de Factorial en R junto con los programas con ejemplos. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. Factorial en Python
  2. Factorial en C
  3. Número inverso en C
  4. Factorial en PHP
  5. Función recursiva en JavaScript

Categoría: