Wprowadzenie do silni w R.

Iloczyn wszystkich liczb od jednego do określonej liczby jest nazywany silnią określonej liczby. Liczba, po której następuje! symbol oznacza silnię liczby, oznacza! symbol używany do oznaczania silni. Wzór zastosowany do znalezienia silni liczby n to n! = n * (n - 1) * (n - 2) * (n - 3)… Zobaczmy kilka przykładów, aby znaleźć silnię -

Silnia 0 = 0! = 1.

Silnia 1 = 1! = 1.

Silnia 2 = 2! = n * (n - 1) = 2 * (2-1) = 2 * 1 = 2.

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

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

Silnia 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 tak dalej.

Jak w powyższym obliczeniu, widzieliśmy, że silnia 0 wynosi 1, podczas gdy silnia liczby ujemnej nie jest zdefiniowana, w R otrzymujemy NAN jako wynik dla silni liczby ujemnej.

Jak znaleźć czynnikowe w programowaniu R?

Tutaj omówimy program do obliczania silni przy użyciu różnych metod.

Przykład # 1 - Faktorowy przy użyciu instrukcji 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()

Wyjście powyższego kodu dla liczby dodatniej

Wyjście powyższego kodu dla liczby ujemnej -

W powyższym kodzie instrukcja if-else najpierw sprawdza, czy nie jest ujemne, czy nie, jeśli nie jest ujemne, oznacza, że ​​warunek <0 jest prawdziwy, a następnie wyświetla komunikat „Liczba jest ujemna, silnia nie istnieje”, podczas gdy warunek jest false, wtedy sprawdzany jest warunek else if no == 0, jeśli jest prawdziwy, to na wyjściu wyświetla się „silnia wynosi 1”, w przeciwnym razie pętla for oblicza silnię i wyświetla obliczoną wartość jako wynik.

Przykład 2 - Czynnikowe użycie pętli for

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

Wyjście powyższego kodu

W powyższym kodzie po prostu znajduje silnię bez sprawdzania, czy liczba jest ujemna, czy nie.

Przykład 3 - Czynnikowy z zastosowaniem metody rekurencji

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

Wyjście powyższego kodu dla liczby dodatniej

Wyjście powyższego kodu dla liczby ujemnej -

Wyjście powyższego kodu dla liczby zerowej

Wyjście powyższego kodu dla liczby dodatniej

Powyższy kod wykorzystujący funkcję rekurencyjną fact (), wewnątrz funkcji fact () silnia znajduje rekursywnie przez iloczyn każdej liczby rekurencyjnie przez powrót wiersza (no * fakt (no-1)). Załóżmy, że nazywamy funkcję fakt jako fakt (7), a następnie funkcję fakt () rekurencyjnie, jak podano poniżej -

nie = 7

jeśli (nie fałsz

nie zwraca * fakt (no-1) => 7 * fakt (6) => 7 * 6 * fakt (5) => => 7 * 6 * 5 * fakt (4) => 7 * 6 * 5 * 4 * fakt (3) => 7 * 6 * 5 * 4 * 3 * fakt (2) => 7 * 6 * 5 * 4 * 3 * 2 * fakt (1) => 7 * 6 * 5 * 4 * 3 * 2 * 1 => 5040. Zatem końcowy wynik to 5040.

Przykład # 4 - Czynnikowy z wykorzystaniem wbudowanej funkcji

Funkcja silnia () jest wbudowaną funkcją języka R. Służy do obliczania silni liczby. Składnia funkcji to -

silnia (nie)

no - wektor numeryczny

Niektóre przykłady funkcji silni (nie) z różnymi parametrami -

# 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

Wniosek

  • Iloczyn wszystkich liczb od 1 do określonej liczby jest nazywany silnią określonej liczby.
  • Wzór lub logika użyte do znalezienia silni liczby n to n! = n * (n - 1) * (n - 2) * (n - 3)…
  • Silnia 0 wynosi 1, silnia wszystkich liczb ujemnych nie jest zdefiniowana w R wyprowadza NAN.
  • W języku R silnia liczby można znaleźć na dwa sposoby: jeden używa ich do pętli, a drugi używa rekurencji (wywołuje funkcję rekurencyjnie).

Polecane artykuły

To jest przewodnik po Factorial w R. Tutaj omawiamy wprowadzenie Factorial w R wraz z programami z przykładami. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Silnia w Pythonie
  2. Silnia w C
  3. Odwróć liczbę w C.
  4. Silnia w PHP
  5. Funkcja rekurencyjna w JavaScript

Kategoria: