Multiple Good Reasons
Factorial is a common example of a recursive function.
Factorial is defined on
the set of natural numbers,
which we can approximate with
long long, as
(The is important!)
For this exercise, we’ll implement a simple recursive factorial, which has this prototype:
long long factorial (long long n);
A recursive function should have a base case, and a recursive case; in the recursive case, the function should call itself, with different arguments.
Beware!
Lots of resources will suggest
you should just return.
Our style guide forbids multiple returns.
Consider how you define
your base and recursive cases
to avoid multiple returns.
To run some simple automated tests:
$ 1511 autotest factorial
To run Styl-o-matic:
$ 1511 stylomatic factorial.c Looks good!
You’ll get advice if you need to make changes to your code.
Submit your work with the give command, like so:
$ give cs1511 wk12_factorial
Or, if you are working from home, upload the relevant file(s) to the wk12_factorial activity on Give Online.