Úvod do fakta v R

Součin všech čísel od jednoho do zadaného čísla se nazývá faktoriál zadaného čísla. Číslo následuje! symbol označuje faktoriál čísla, znamená! symbol používaný k označení faktoriálu. Vzorec použitý k nalezení faktoriálu n čísla je n! = n * (n - 1) * (n - 2) * (n - 3)…. Podívejme se na několik příkladů, jak najít faktoriál -

Faktoriál 0 = 0! = 1.

Faktoriál 1 = 1! = 1.

Faktoriál 2 = 2! = n * (n - 1) = 2 * (2 - 1) = 2 * 1 = 2.

Faktoriál 3 = 3! = n * (n - 1) * (n - 2) = 3 * (3 - 1) * (3 - 2) = 3 * 2 * 1 = 6.

Faktoriál 4 = 4! = n * (n - 1) * (n - 2) * (n - 3) = 4 * (4 - 1) * (4 - 2) * (4 - 3) = 4 * 3 * 2 * 1 = 24 .

Faktoriál 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. A tak dále.

Stejně jako ve výše uvedeném výpočtu jsme viděli, že faktoriál 0 je 1, zatímco faktoriál záporného čísla není definován, v R dostáváme NAN jako výstup pro faktoriál záporného čísla.

Jak najít Factorial v programování R?

Zde diskutujeme program pro výpočet faktoriálu pomocí různých metod.

Příklad č. 1 - Factorial using if-else prohlášení

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

Výstup výše uvedeného kódu pro kladné číslo -

Výstup výše uvedeného kódu pro záporné číslo -

Ve výše uvedeném kódu příkaz if-else nejprve zkontroluje, zda ne je záporné nebo ne, pokud ne je záporné znamená, že není splněna podmínka <0, potom se zobrazí displej „Číslo je záporné, faktoriální neexistuje“, vzhledem k tomu, že podmínka je false pak the else if no == 0 podmínka zkontroluje, jestli je jeho pravda, výstupní displej „Factial is 1“, jinak s for loop vypočítá faktorial a zobrazí vypočtenou hodnotu jako výstup.

Příklad č. 2 - Faktorové použití pro smyčku

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

Výstup výše uvedeného kódu -

Ve výše uvedeném kódu je pouze nalezení faktoriálu bez ověření, zda je číslo záporné nebo ne.

Příklad č. 3 - Factoring pomocí rekurze

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

Výstup výše uvedeného kódu pro kladné číslo -

Výstup výše uvedeného kódu pro záporné číslo -

Výstup výše uvedeného kódu pro nulové číslo -

Výstup výše uvedeného kódu pro kladné číslo -

Výše uvedený kód, který používá faktor rekurzivní funkce (), uvnitř funkce fact () faktoriál vyhledává produktem každého čísla rekurzivně vrácením řádku (ne * fakt (ne-1)). Předpokládejme, že faktickou funkci nazýváme faktem (7), pak funkčním faktem () rekurzivně, jak je uvedeno níže -

ne = 7

if (no false

návrat ne * fakt (ne-1) => 7 * fakt (6) => 7 * 6 * fakt (5) => => 7 * 6 * 5 * fakt (4) => 7 * 6 * 5 * 4 * skutečnost (3) => 7 * 6 * 5 * 4 * 3 * skutečnost (2) => 7 * 6 * 5 * 4 * 3 * 2 * skutečnost (1) => 7 * 6 * 5 * 4 * 3 * 2 * 1 => 5040. Konečný výsledek je tedy 5040.

Příklad č. 4 - Factorial pomocí vestavěné funkce

Funkce factorial () je zabudovaná funkce jazyka R, která se používá pro výpočet faktoriálu čísla. Syntaxe funkce je -

faktoriální (ne)

nečíselný vektor

Některé z příkladů pro faktoriální (ne) funkce s různými parametry -

# 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

Závěr

  • Součin všech čísel od 1 do zadaného čísla se nazývá faktoriál zadaného čísla.
  • Vzorec nebo logika použitá k nalezení faktoriálu n čísla je n! = n * (n - 1) * (n - 2) * (n - 3)….
  • Faktoriál 0 je 1, faktoriál všech záporných čísel není definován v R na výstupu NAN.
  • V jazyce R je faktoriál čísla nalezen dvěma způsoby: jeden je používá pro smyčku a druhý způsob je použití rekurze (volání funkce rekurzivně).

Doporučené články

Toto je průvodce pro Factorial v R. Zde diskutujeme o zavedení Factorial v R spolu s programy s příklady. Další informace naleznete také v dalších navrhovaných článcích -

  1. Factorial v Pythonu
  2. Factorial in C
  3. Reverzní číslo v C
  4. Factorial v PHP
  5. Rekurzivní funkce v JavaScriptu

Kategorie: