Pick one of the following problems to do for your interclass problem.

1. Factorial - For this problem I want you to write two methods that both calculate factorial. Remember that the factorial of n, n!, is the product of all the numbers from 1 to n. One of the methods should calculate this using a loop. The other one should calculate it with a recursive method.

2. Number of Paths - For this problem I want you to copy the code we used to find the shortest path, and instead of having it count the number of steps in the shortest path, make it so that it counts all the paths from the given location to the destination. Here are some hints. First, make the bread crumbs so they act like a boolean (just 0 or 1) and pick them up (so set it back to 0 right before the return). Second, the number of paths from a given location is equal to the sum of the number if you go in each of the four directions. If you get to the destination you found 1 path. If you go out of bounds or into a wall, that doesn't count so return 0.

3. Recursive Counting - Write a recursive method that will print numbers counting down from the value that is passed in to 1. Now make a second method that prints values counting up from 1 to the number you call the method with. Do both of these recursively.

4. Mouseful - Write a method so that when you call it on the mouse it runs recursively through the maze and adds a mouse to every reachable location that doesn't have a wall.