Do Exercise 14.1-3 on page 344. This exercise is worth 1 grade point.

Do Exercise 14.1-7 on page 345. This exercise is worth 2 grade points.

Do Exercise 14.3-1 on page 353. This exercise is worth 1 grade point.

Do Exercise 15.1-2 on page 370. This exercise is worth 2 grade points.

Do Exercise 15.1-3 on page 370. This exercise is worth 2 grade points.

Do Exercise 15.2-1 on page 378. This exercise is worth 1 grade point.

Write two programs for calculating values of the function

*P*(*n*) defined in Equation 15.6 on page 372. (You may use Python, Java, or any other programming langauge.) One program should use the top-down, recursive approach. The other should use either the top-down approach with memoization or the bottom-up method. Make sure both versions give the same results for small values of*n*. How large a value of*n*do you have the patience for with each version? This problem is worth 3 grade points.