Introduzione al fattoriale in R

Il prodotto di tutti i numeri da uno al numero specificato è chiamato fattoriale di un numero specificato. Il numero seguito da! il simbolo indica fattoriale di un numero, significa! un simbolo usato per indicare fattoriale. La formula utilizzata per trovare il fattoriale di n numero è n! = n * (n - 1) * (n - 2) * (n - 3)…. Vediamo alcuni esempi per trovare fattoriale -

Il fattoriale di 0 = 0! = 1

Il fattoriale di 1 = 1! = 1

Il fattoriale di 2 = 2! = n * (n - 1) = 2 * (2 - 1) = 2 * 1 = 2.

Il fattoriale di 3 = 3! = n * (n - 1) * (n - 2) = 3 * (3 - 1) * (3 - 2) = 3 * 2 * 1 = 6.

Il fattoriale di 4 = 4! = n * (n - 1) * (n - 2) * (n - 3) = 4 * (4 - 1) * (4 - 2) * (4 - 3) = 4 * 3 * 2 * 1 = 24 .

Il fattoriale di 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 così via.

Come nel calcolo sopra, abbiamo visto che il fattoriale di 0 è 1, mentre il fattoriale del numero negativo non è definito, in R otteniamo NAN come output per fattoriale del numero negativo.

Come trovare fattoriale nella programmazione R?

Qui discuteremo il programma per calcolare il fattoriale usando vari metodi.

Esempio n. 1 - Fattoriale che utilizza l'istruzione 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()

L'output del codice precedente per il numero positivo–

L'output del codice precedente per il numero negativo–

Nel codice sopra l'istruzione if-else controlla prima se il no è negativo o no, se il no è negativo significa che nessuna condizione <0 è vera, quindi viene visualizzato il messaggio "Il numero è negativo, il fattoriale non esiste", mentre se la condizione è false quindi l'altro se nessuna condizione == 0 verifica, se è vero l'output visualizza “Il fattoriale è 1”, altrimenti con il ciclo for calcola il fattoriale e visualizza il valore calcolato come output.

Esempio n. 2 - Fattoriale usando per il ciclo

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

L'output del codice precedente–

Nel codice sopra, trova semplicemente il fattoriale senza verificare se il numero è negativo o meno.

Esempio n. 3 - Fattoriale che utilizza il metodo di ricorsione

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

L'output del codice precedente per il numero positivo–

L'output del codice precedente per il numero negativo–

L'output del codice sopra per zero numero–

L'output del codice precedente per il numero positivo–

Il codice sopra usando la funzione ricorsiva fact (), all'interno della funzione fact () il fattoriale sta trovando ricorsivamente per prodotto di ciascun numero dal ritorno di linea (no * fact (no-1)). Supponiamo di chiamare la funzione fact come fact (7) quindi la funzione fact () ricorsivamente come indicato di seguito -

no = 7

if (no false

restituisce 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. Quindi il risultato finale è 5040.

Esempio n. 4 - Fattoriale che utilizza la funzione integrata

La funzione factorial () è la funzione incorporata del linguaggio R che viene utilizzata per calcolare il fattoriale di un numero. La sintassi della funzione è -

fattoriale (no)

no - vettore numerico

Alcuni esempi della funzione fattoriale (no) con parametri diversi -

# 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

Conclusione

  • Il prodotto di tutti i numeri da 1 al numero specificato è chiamato fattoriale di un numero specificato.
  • La formula o la logica utilizzata per trovare il fattoriale di n numero è n! = n * (n - 1) * (n - 2) * (n - 3)….
  • Il fattoriale di 0 è 1, il fattoriale di tutto il numero negativo non è definito in R genera NAN.
  • Nel linguaggio R il fattoriale di un numero può essere trovato in due modi in cui uno li sta usando per il ciclo e un altro modo sta usando la ricorsione (chiamare la funzione ricorsivamente).

Articoli consigliati

Questa è una guida a Factorial in R. Qui discutiamo dell'introduzione di Factorial in R insieme ai programmi con esempi. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più–

  1. Fattoriale in Python
  2. Fattoriale in C
  3. Numero inverso in C
  4. Fattoriale in PHP
  5. Funzione ricorsiva in JavaScript

Categoria: