Программа для расчета значения nCr с использованием рекурсии
Опубликовано: 19 Сентября, 2022
Учитывая два числа N и r , найдите значение N C r с помощью рекурсии
Примеры :
Input: N = 5, r = 2
Output: 10
Explanation: The value of 5C2 is 10Input: N = 3, r = 1
Output: 3
Подход 1. Один очень интересный способ найти C(n,r) — это рекурсивный метод, основанный на рекурсивном уравнении.
C(n,r) = C(n-1,r-1) + C(n-1,r)
Ниже приведена реализация вышеуказанного подхода следующим образом:
Time Complexity: O(2^n), Auxilary Space: O(n)
Подход 2 : Другая идея просто основана на приведенной ниже формуле.
NCr = N! / (r! * (N-r)!)
Also,
NCr-1 = N! / ( (r-1)! * (N – (r-1))! )Hence,
- NCr * r! * (N – r)! = NCr-1 * (r-1)! * (N – (r-1))!
- NCr * r * (N-r)! = NCr-1 * (N-r+1)! [eliminating (r – 1)! from both side]
- NCr * r = nCr-1 * (N-r+1)
Следовательно,
NCr = NCr-1 * (N-r+1) / r
Ниже приведена реализация вышеуказанного подхода:
Time Complexity: O(N!), Auxiliary Space: O(1)