Write a function that calculates the given number multiplied by that number minus one.
Ensure for 1 and less it returns a suitable value.
Make sure it is fully debugged before you go on to the next step and that some test values return the correct result, e.g. 1->1, 3->6, 6->30, 12->132 (remember at this point all it is calculating is n*(n-1).

Then instead of "that number minus one", just call the function from within itself with "that number minus one" as the given number.

Easy!

Code:
int f(int n)
{
...
// recursive call
int something=someval*f(n-1);
...
return what?
}