**Due: Monday, Dec 1st by 11:59 PM**

If you have a solution open in Visual Studio, close it (**File->Close Solution**).

Download CS200_Lab28.zip. Import it into Visual Studio (**File->Import...**).

Add your code to the source file called **Recursion.c**.

Your task is to implement three functions: **factorial**, **all_odd_digits**, and
**search**. The comments in the source file describe how each function
should work. The **main** function contains tests for each of the three
functions. You will not need to change any code in the **main** function.

Implement **factorial** first, then **all_odd_digits**, then
**search**.

For each function, implement the function *recursively*. Do not use
a loop in any function!

The body of each function has a comment with some hints on how to approach the recursion.

When you implementing all three functions, the output of the program will look like this:

Checking that 1 == factorial(1) at line 93: YES Checking that 2 == factorial(2) at line 94: YES Checking that 6 == factorial(3) at line 95: YES Checking that 24 == factorial(4) at line 96: YES Checking that 120 == factorial(5) at line 97: YES Checking that 720 == factorial(6) at line 98: YES Checking that all_odd_digits(131) is true at line 100: YES Checking that all_odd_digits(121) is false at line 101: YES Checking that all_odd_digits(90125) is false at line 102: YES Checking that all_odd_digits(42) is false at line 103: YES Checking that all_odd_digits(1357195) is true at line 104: YES Checking that 0 == search(sequence, 0, 10, 92) at line 106: YES Checking that 2 == search(sequence, 0, 10, 72) at line 107: YES Checking that 8 == search(sequence, 0, 10, 38) at line 108: YES Checking that 3 == search(sequence, 0, 10, 11) at line 109: YES Checking that -1 == search(sequence, 0, 10, 42) at line 110: YES All tests passed!

When you are done, choose **Tools->Submit** to submit your completed
lab to the server. You will need to enter your Marmoset username
and password.

If the **Tools->Submit** option does not work, create a zip
file containing the files in your project, and upload it
to the submission server as **lab28**. The server URL
is

https://camel.ycp.edu:8443/