count = 0
def choose(n,k):
global count
count += 1
if k <= 0:
return 1
elif n < k:
return 0
else:
return (n + 1 - k)*choose(n, k-1)/k
print "answer: ", choose(500,2)
print "function calls: ", count
Y291bnQgPSAwCgpkZWYgY2hvb3NlKG4sayk6CglnbG9iYWwgY291bnQKCWNvdW50ICs9IDEKCWlmIGsgPD0gMDoKCQlyZXR1cm4gMQoJZWxpZiBuIDwgazoKCQlyZXR1cm4gMAoJZWxzZToKCQlyZXR1cm4gKG4gKyAxIC0gaykqY2hvb3NlKG4sIGstMSkvawoKcHJpbnQgImFuc3dlcjogIiwgY2hvb3NlKDUwMCwyKQpwcmludCAiZnVuY3Rpb24gY2FsbHM6ICIsIGNvdW50