Введение в Факториал в R

Произведение всех чисел от одного до указанного числа называется факториалом указанного числа. Номер, за которым следует! Символ обозначает факториал числа, значит! символ, используемый для обозначения факториала. Формула, используемая для нахождения факториала числа n, равна n! = n * (n - 1) * (n - 2) * (n - 3)…. Давайте посмотрим несколько примеров, чтобы найти факториал -

Факториал 0 = 0! = 1

Факториал 1 = 1! = 1

Факториал 2 = 2! = n * (n - 1) = 2 * (2 - 1) = 2 * 1 = 2.

Факториал 3 = 3! = n * (n - 1) * (n - 2) = 3 * (3 - 1) * (3 - 2) = 3 * 2 * 1 = 6.

Факториал 4 = 4! = n * (n - 1) * (n - 2) * (n - 3) = 4 * (4 - 1) * (4 - 2) * (4 - 3) = 4 * 3 * 2 * 1 = 24,

Факториал 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. И так далее.

Как и в приведенном выше расчете, мы видели, что факториал 0 равен 1, тогда как факториал отрицательного числа не определен, в R мы получаем NAN в качестве выхода для факториала отрицательного числа.

Как найти Факториал в R программировании?

Здесь мы обсудим программу для расчета факториала с использованием различных методов.

Пример № 1 - Факториал с использованием оператора 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()

Вывод вышеуказанного кода для положительного числа–

Вывод вышеуказанного кода для отрицательного числа–

В приведенном выше коде оператор if-else сначала проверяет, является ли отрицательное или нет отрицательным, если отрицательное отрицательное означает, что условие «<0 не является истинным», а затем выводит «Число отрицательное, факториал не существует», тогда как если условие ложь, тогда условие else, если нет == 0, проверяет, истинно ли оно на выходе, отображается «Факториал равен 1», в противном случае цикл for вычисляет факториал и отображает вычисленное значение как выходной.

Пример №2 - Факториальное использование для цикла

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

Вывод вышеуказанного кода–

В приведенном выше коде это просто поиск факториала без проверки, является ли число отрицательным или нет.

Пример № 3 - Факториал с использованием метода рекурсии

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

Вывод вышеуказанного кода для положительного числа–

Вывод вышеуказанного кода для отрицательного числа–

Вывод вышеуказанного кода для нулевого числа–

Вывод вышеуказанного кода для положительного числа–

Приведенный выше код с использованием рекурсивной функции fact (), внутри функции fact (), факториал находит по произведению каждого числа рекурсивно на возврат строки (нет * fact (no-1)). Предположим, что мы называем функцию факта как факт (7), а затем функцию факт () рекурсивно, как указано ниже:

нет = 7

если (нет ложного

вернуть нет * факт (нет-1) => 7 * факт (6) => 7 * 6 * факт (5) => => 7 * 6 * 5 * факт (4) => 7 * 6 * 5 * 4 * факт (3) => 7 * 6 * 5 * 4 * 3 * факт (2) => 7 * 6 * 5 * 4 * 3 * 2 * факт (1) => 7 * 6 * 5 * 4 * 3 * 2 * 1 => 5040. Таким образом, конечный результат - 5040.

Пример № 4 - Факториал с использованием встроенной функции

Функция factorial () - это встроенная функция языка R, которая используется для вычисления факториала числа. Синтаксис функции -

факториал (нет)

нет - числовой вектор

Некоторые из примеров для факториальной (нет) функции с разными параметрами -

# 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

Вывод

  • Произведение всех чисел от 1 до указанного числа называется факториалом указанного числа.
  • Формула или логика, используемая для нахождения факториала числа n, равна n! = n * (n - 1) * (n - 2) * (n - 3)….
  • Факториал 0 равен 1, факториал всех отрицательных чисел не определен в R, он выводит NAN.
  • В языке R факториал числа можно найти двумя способами: один использует их для цикла, а другой - рекурсию (вызов функции рекурсивно).

Рекомендуемые статьи

Это руководство по Factorial в R. Здесь мы обсуждаем введение Factorial в R вместе с программами с примерами. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -

  1. Факториал в Python
  2. Факториал в С
  3. Обратный номер в C
  4. Факториал в PHP
  5. Рекурсивная функция в JavaScript