I'm using Python 2.7.3 and have this function:
def f(n):
    if n == 0:
        return 0
    else:
        return (n % 3 == 0 or n % 5 == 0) * n + f(n - 1) 
f(999)
It works until f(993), but not f(999). When I try, infinite amount of errors keep popping out. I don't get it. Can anyone tell me what's wrong?
Edit: Thanks everyone for your answers. I guess i'm better off using iteration in python.
 
     
     
     
    