Рекурсивная программа для нахождения факториала большого числа

Опубликовано: 20 Сентября, 2022

Учитывая большое число N , задача состоит в том, чтобы найти факториал N с помощью рекурсии.

Factorial of a non-negative integer is the multiplication of all integers smaller than or equal to n. For example factorial of 6 is 6*5*4*3*2*1 which is 720.

Примеры:

Input : N = 100
Output : 933262154439441526816992388562667004-907159682643816214685929638952175999-932299156089414639761565182862536979-208272237582511852109168640000000000-00000000000000

Input : N = 50
Output : 3041409320171337804361260816606476884-4377641568960512000000000000

Итеративный подход . Итеративный подход обсуждается в наборе 1 этой статьи. Здесь мы обсудили рекурсивный подход.

Рекурсивный подход: чтобы рекурсивно решить эту проблему, алгоритм изменяется таким образом, что вызывает рекурсивно одну и ту же функцию и умножает результат на число n. Выполните следующие шаги, чтобы решить проблему:

  • Если n меньше 2, умножьте n на 1 и сохраните результат в векторе.
  • В противном случае вызовите функцию, умножить (n, factorialRecursiveAlgorithm (n – 1)) , чтобы найти ответ.

Ниже приведена реализация описанного выше подхода.


Временная сложность: O(n)
Вспомогательное пространство: O (K), где K — максимальное количество цифр в выводе .

РЕКОМЕНДУЕМЫЕ СТАТЬИ