In [1]:
@cached_function
def NRcount_rec(k, n, c):
if n == 0:
return 1
else:
if c == 0:
return NRcount_rec(k, n-1, k-1)
else:
return (NRcount_rec(k, n-1, c-1) + NRcount_rec(k, n-1, k-1))
def NRcount(k, n):
if n == 0:
return 1
return 2*NRcount_rec(k, n-1, k-1)
In [2]:
[NRcount(2, n) for n in range(10)]
Out[2]:
In [ ]:
In [ ]:
In [ ]: