diff --git a/4_9_Exercises/Question 3.py b/4_9_Exercises/Question 3.py index a2bd84b1f91c9fff7300693899e860e61ac7ec78..e406f0d6b888f3cb630772683fe0551960696bde 100644 --- a/4_9_Exercises/Question 3.py +++ b/4_9_Exercises/Question 3.py @@ -1,20 +1,9 @@ -def nsp(x, y, current=(0, 0)): - if current is None: +def nsp(x, y): + if x < 0 or y < 0: return 0 - if current == (x, y): + if (0, 0) == (x, y): return 1 else: - next_corner = new_index(x, y, current) - # uses helper function to find the next corner - return nsp(x, y, next_corner[0]) + nsp(x, y, next_corner[1]) - pass + return nsp(x, y - 1) + nsp(x - 1, y) -def new_index(x, y, current): - # Helper function to find the possible next states, reduced clutter - if current[0] < x and current[1] < y: - return (current[0], current[1] + 1), (current[0] + 1, current[1]) - if current[0] >= x and current[1] < y: - return (current[0], current[1] + 1), None - if current[0] < x and current[1] >= y: - return (current[0] + 1, current[1]), None