Ú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 -
- Factorial v Pythonu
- Factorial in C
- Reverzní číslo v C
- Factorial v PHP
- Rekurzivní funkce v JavaScriptu