Время выполнения очень интересно nCk
.Рекурсивно это выражается как:
f(n,k) = f(n-1,k-1) + f(n-1,k)
Выразите каждый член, используя формулу комбинации nCk = n!/(k! * (n-k)!)
.Ответ будет раздутым, если я попытаюсь написать каждый шаг, но как только вы подставите это выражение, умножьте все уравнение на (n-k)! * k!/(n-1)!
.Все это должно аннулироваться, чтобы дать вам n = k + n - k
.
Возможно, существуют более общие подходы к решению многопеременных рекурсивных уравнений, но этот очень очевиден, если вы запишите первые несколько значений вплоть до n=5
и k=5
.