Introducere în Factorial în R

Produsul tuturor numerelor de la unu la un număr specificat se numește factorial al unui număr specificat. Numărul urmat! simbolul indică factorialul unui număr, înseamnă! simbol folosit pentru a indica factorial. Formula folosită pentru a găsi factorialul numărului n este n! = n * (n - 1) * (n - 2) * (n - 3)…. Să vedem câteva exemple pentru a găsi factorial -

Factorialul de 0 = 0! = 1.

Factorialul de 1 = 1! = 1.

Factorialul de 2 = 2! = n * (n - 1) = 2 * (2 - 1) = 2 * 1 = 2.

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

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

Factorialul 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. Și așa mai departe.

Ca și în calculul de mai sus, am văzut că factorialul 0 este 1, în timp ce factorialul numărului negativ nu este definit, în R obținem NAN ca ieșire pentru factorialul numărului negativ.

Cum să găsești factorial în programarea R?

Aici vom discuta despre programul de calcul al factorial folosind diferite metode.

Exemplul # 1 - Factorial folosind instrucțiunea 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()

Ieșirea codului de mai sus pentru numărul pozitiv -

Ieșirea codului de mai sus pentru numărul negativ -

În codul de mai sus, instrucțiunea if-else verifică mai întâi dacă nu este negativ sau nu, dacă nu este negativ înseamnă că nu <0 condiție este adevărată, atunci afișarea de ieșire „Numărul este negativ, factorialul nu există”, întrucât dacă condiția este false, atunci altceva dacă nu se verifică condiția == 0, dacă este adevărat afișajul de ieșire „Factorialul este 1”, altfel cu bucla for calculați factorialul și afișați valoarea calculată ca ieșire.

Exemplul # 2 - Factorial folosind buclă

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()

Ieșirea codului de mai sus -

În codul de mai sus, este doar de a găsi factorial fără a verifica dacă numărul este negativ sau nu.

Exemplul # 3 - Factorial folosind recursive Method

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

Ieșirea codului de mai sus pentru numărul pozitiv -

Ieșirea codului de mai sus pentru numărul negativ -

Ieșirea codului de mai sus pentru numărul zero -

Ieșirea codului de mai sus pentru numărul pozitiv -

Codul de mai sus folosind funcția recursivă fact (), în interiorul funcției fact () factorial este găsirea prin produs a fiecărui număr recursiv prin returnarea liniei (nr * fact (nr-1)). Să presupunem că numim funcția de fapt ca fapt (7) apoi funcția de fapt () recursiv, așa cum este dat mai jos -

nu = 7

dacă (nu este fals

return no * fact (no-1) => 7 * fact (6) => 7 * 6 * fact (5) => => 7 * 6 * 5 * fact (4) => 7 * 6 * 5 * 4 * fapt (3) => 7 * 6 * 5 * 4 * 3 * fact (2) => 7 * 6 * 5 * 4 * 3 * 2 * fact (1) => 7 * 6 * 5 * 4 * 3 * 2 * 1 => 5040. Deci rezultatul final este 5040.

Exemplul # 4 - Factorial folosind funcția încorporată

Funcția factorială () este funcția încorporată a limbajului R, care este utilizată pentru a calcula factorialul unui număr. Sintaxa funcției este -

factorial (nu)

nu - vector numeric

Câteva dintre exemple pentru funcția factorială (nu) cu parametri diferiți -

# 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

Concluzie

  • Produsul tuturor numerelor de la 1 la numărul specificat se numește factorial al unui număr specificat.
  • Formula sau logica folosită pentru a găsi factorialul numărului n este n! = n * (n - 1) * (n - 2) * (n - 3)….
  • Factorialul 0 este 1, factorialul tuturor numărului negativ nu este definit în R el iese NAN.
  • În limbajul R factorialul unui număr poate fi găsit în două moduri, unul le folosește pentru buclă, iar alt mod este folosirea recursivității (apelează funcția recursiv).

Articole recomandate

Acesta este un ghid pentru Factorial în R. Aici vom discuta despre introducerea Factorialului în R împreună cu programele cu exemple. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. Factorial în Python
  2. Factorial în C
  3. Numărul invers în C
  4. Factorial în PHP
  5. Funcție recursivă în JavaScript

Categorie: