Рекурсивная программа для нахождения факториала большого числа
Учитывая большое число 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-00000000000000Input : N = 50
Output : 3041409320171337804361260816606476884-4377641568960512000000000000
Итеративный подход . Итеративный подход обсуждается в наборе 1 этой статьи. Здесь мы обсудили рекурсивный подход.
Рекурсивный подход: чтобы рекурсивно решить эту проблему, алгоритм изменяется таким образом, что вызывает рекурсивно одну и ту же функцию и умножает результат на число n. Выполните следующие шаги, чтобы решить проблему:
- Если n меньше 2, умножьте n на 1 и сохраните результат в векторе.
- В противном случае вызовите функцию, умножить (n, factorialRecursiveAlgorithm (n – 1)) , чтобы найти ответ.
Ниже приведена реализация описанного выше подхода.
Временная сложность: O(n)
Вспомогательное пространство: O (K), где K — максимальное количество цифр в выводе .