I wrote this piece of code to compute the number of combinations:
def fact(n): return 1 if(n == 1) else n * fact(n - 1) def combinations(n,k): retur
Try to replace:
def fact(n): return 1 if(n == 1) else n * fact(n - 1)
to:
def fact(n): return 1 if(n <= 1) else n * fact(n - 1)
Because if you pass 2 identical numbers, you would try to compute fact(0) (which would call fact(-1) and fact(-2), etc until the maximum recursion depth error).
fact(0)
fact(-1)
fact(-2)